tensorflow实现一个求解阶乘的代码(以及控制依赖tf.control_dependencies)
2020-03-31 19:29
651 查看
tf.control_dependencies的用法
# 需求三:实现一个求解阶乘的代码 # 方法一 # 1.定义变量 sum = tf.Variable(1, dtype=tf.int32) # 2.定义一个占位符 i = tf.placeholder(dtype=tf.int32) # 3.变量更改 tmp_sum = sum*i assign_op = tf.assign(sum, tmp_sum) # 4.变量初始化操作 init_op = tf.global_variables_initializer() # 5.运行 with tf.Session() as sess: sess.run(init_op) for j in range(1, 6): # 执行更新操作 sess.run(assign_op, feed_dict={i: j}) print("5!={}".format(sess.run(sum))) ''' ''' # 方法二:用了tensorflow的控制依赖tf.control_dependencies # 1.定义变量 sum = tf.Variable(1, dtype=tf.int32) # 2.定义一个占位符 i = tf.placeholder(dtype=tf.int32) # i就是一个张量 # 3.变量更改 tmp_sum = sum*i # 此处乘法直接写的 等价于tmp_sum = tf.multiply(sum, i) assign_op = tf.assign(sum, tmp_sum) # 更新sum值时,是没有数据流的,依赖关系用虚线表示,如果是实线就不是有向无环图了 with tf.control_dependencies([assign_op]): # 如果需要执行这个代码块中的内容,必须先执行control_dependencies中给定的操作/tensor sum = tf.Print(sum, data=[sum, sum.read_value()], message='sum:') # tf.Print就是打印日志(sum的值的相关日志), # 打印格式自己定,就是data参数值的格式。tf.Print能运行出日志结果的前提是Session的config参数中log_device_placement得是True '' data=[sum, sum.read_value()]的执行结果 sum:[1][1] sum:[2][2] sum:[6][6] sum:[24][24] sum:[120][120] '' # 4.变量初始化操作 init_op = tf.global_variables_initializer() # 5.运行 with tf.Session(config=tf.ConfigProto(log_device_placement=True, allow_soft_placement=True)) as sess: sess.run(init_op) for j in range(1, 6): # 执行更新操作 r = sess.run(sum, feed_dict={i: j}) # 通过control_dependencies可以指定依赖关系,这样的话,就不用管内部的更新操作了 print("5!={}".format(r)) '''
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 频道管理依赖以及代码实现
- 给定三维空间里的任意三个点来确定一个平面方程Ax+By+Cz+D=0的求解过程及伪代码的实现
- c#调用js,以及js调用C#里的函数, c#自己生成js代码,实现对web的控制
- 通过Lua代码创建一个Cube,并实现控制行走
- TensorFlow函数:tf.nn.conv2d是怎样实现卷积的?代码示例讲解!
- lenet-5,Alexnet详解以及tensorflow代码实现
- (Tensorflow之十)tf.control_dependencies()用法
- TensorFlow学习笔记之快速求解四元一次方程的完整代码以及保存模型和读取模型的讲解
- 依赖注入(Dependency Injection) 实现 控制反转(Inversion of Control)
- SVM原理以及Tensorflow 实现SVM分类(附代码)
- 免费SVN版本控制库Google code的搭建流程,以及隐藏代码,实现伪安全
- 深度学习、tensorflow--神经风格迁移(neural style transfer)原理以及实现代码
- 解读tensorflow之rnn 的示例 ptb_word_lm.py 这两天想搞清楚用tensorflow来实现rnn/lstm如何做,但是google了半天,发现tf在rnn方面的实现代码或者教程
- 使用Supplierj接口来返回一个对象,将接口的实现编写为一个lambda表达式,直接引用构造器简化代码。以及Supplier接口的使用示范
- 实现一个无锁的Stack,并写一段测试代码(多线程访问),证明这个Stack是线程安全的。给出程序以及运行的截图。
- 几十行代码轻松实现一个IOC容器并实现对Webform的依赖注入(包括对控件的依赖注入)
- 小代码 HTML 每个按钮控制一个DIV js实现
- iOS开发:代码通用性以及其规范 第二篇(猜想iOS中实现TableView内部设计思路(附代码),以类似的思想实现一个通用的进度条)
- Eclipse SWT开发教程以及一个连连看游戏的代码实现下载
- shader学习基础之十一实现纹理的缩放平移和旋转,以及用c#代码合并两种贴图并且控制位置