Tensorflow累加的实现案例

作者:silent56_th 时间:2023-04-15 22:55:50 

由于python内部的变量其实都是reference,而Tensorflow实现的时候也没有意义去判断输出是否是同一变量名,从而判定是否要新建一个Tensor用于输出。Tensorflow为了满足所有需求,定义了两个不同的函数:tf.add和tf.assign_add。从名字即可看出区别,累加应该使用tf.assign_add。同理的还有tf.assign_sub和tf.assign。

具体地,笔者需要一个iteration counter类似的变量,即每次使用一个batch更新参数之后都使得该变量加一,进而控制learning rate等参数来调节学习过程。

最初的实现如下:


a = tf.Variable(tf.zeros(1))
a = tf.add(a,tf.ones(1))

sess = tf.Session()
sess.run(tf.global_variable_initializer())
for i in range(1000):
 print(sess.run(a))

那因为第一行代码输出的a和第二行代码输出的a,虽然变量名相同,但是实质指向的变量以及空间都不同,每次输出的都是1。

更改后的代码则是如下:


a = tf.Variable(tf.zeros(1))
a = tf.assign_add(a,tf.ones(1))

sess = tf.Session()
sess.run(tf.global_variable_initializer())
for i in range(1000):
 print(sess.run(a))

来源:https://blog.csdn.net/silent56_th/article/details/75563344

标签:Tensorflow,累加
0
投稿

猜你喜欢

  • SpringBoot Logback日志记录到数据库的实现方法

    2024-01-16 11:58:11
  • 典型的三行二列居中高度自适应css布局

    2008-02-22 16:02:00
  • python抓取最新博客内容并生成Rss

    2022-06-18 08:38:40
  • tkinter动态显示时间的两种实现方法

    2021-05-24 23:40:35
  • tensorflow训练中出现nan问题的解决

    2023-02-10 09:34:09
  • python实现发送邮件及附件功能

    2023-12-30 23:27:04
  • 浅谈javascript中的作用域

    2024-05-11 09:31:22
  • go高并发时append方法偶现错误解决分析

    2024-02-13 20:30:57
  • Python使用Pygame绘制时钟

    2022-08-04 14:10:07
  • Python字典中的键映射多个值的方法(列表或者集合)

    2021-03-07 04:50:40
  • OpenCV哈里斯角检测|Harris Corner理论实践

    2021-03-22 02:06:10
  • javascript实现小型区块链功能

    2024-04-18 09:29:10
  • 零基础写python爬虫之抓取糗事百科代码分享

    2021-02-01 11:54:39
  • Python使用Opencv实现边缘检测以及轮廓检测的实现

    2022-03-06 02:19:18
  • 解决jupyter加载文件失败的问题

    2022-07-21 19:17:05
  • MySQL学习之事务与并发控制

    2024-01-27 22:36:39
  • python Django的web开发实例(入门)

    2022-01-09 17:48:33
  • Python入门必须知道的11个知识点

    2023-12-19 05:32:47
  • 在python3中实现查找数组中最接近与某值的元素操作

    2023-10-30 22:35:19
  • SQL Server并行操作优化避免并行操作被抑制而影响SQL的执行效率

    2024-01-23 10:55:50
  • asp之家 网络编程 m.aspxhome.com