TensorFlow学习笔记9——TensorFlow中具有依赖关系的多个op多次执行的问题
2017-11-08 19:12
288 查看
在TensorFlow构建深度神经网络时,有时需要让具有依赖关系的多个op多次执行。这句话有些拗口,看下述代码:
如果想先执行sess.run(a),对a做一些操作或运算后,然后再继续算c,该怎么操作呢?
第一个解决方法是,将a的值暂时保存下来。然后,在计算c时利用feed_dict将a替换为保存的a。将上述代码更改为:
第二个解决方法是,将a和c同时计算,并输出,代码如下:
import tensorflow as tf
a = tf.random_uniform([1],minval=0,maxval=100,dtype=tf.int32)
b = tf.constant(1, name="input_b")
c = tf.add(a,b, name="add_c")
sess = tf.Session()
a_tmp,c_tmp = sess.run([a,c])#将a和c同时计算
print("a = ",a_tmp)
print("c = ",c_tmp)
执行结果为:
a = [83]
c = [84]
总结:在用sess.run执行op时,每次都是从输入开始完整的执行运算。除非中间某个变量被feed_dict操作替换。
import tensorflow as tf a = tf.random_uniform([1],minval=0,maxval=100,dtype=tf.int32) b = tf.constant(1, name="input_b") c = tf.add(a,b, name="add_c") sess = tf.Session() print("a = ",sess.run(a)) print("c = ",sess.run(c))执行结果如下:
a = [41] c = [88]代码中的公式为c=a+1,而上述结果中c≠1。说明在两次执行sess.run时,均是从最开始的输入开始计算,第一个sess.run虽然计算出了a,但这个a并没有作为第二个sess.run的输入a。
如果想先执行sess.run(a),对a做一些操作或运算后,然后再继续算c,该怎么操作呢?
第一个解决方法是,将a的值暂时保存下来。然后,在计算c时利用feed_dict将a替换为保存的a。将上述代码更改为:
import tensorflow as tf a = tf.random_uniform([1],minval=0,maxval=100,dtype=tf.int32) b = tf.constant(1, name="input_b") c = tf.add(a,b, name="add_c") sess = tf.Session() a_tmp = sess.run(a) print("a = ",a_tmp)#也可以对a进行其他操作 print("c = ",sess.run(c,feed_dict={a:a_tmp}))执行结果为:
a = [42] c = [43]
第二个解决方法是,将a和c同时计算,并输出,代码如下:
import tensorflow as tf
a = tf.random_uniform([1],minval=0,maxval=100,dtype=tf.int32)
b = tf.constant(1, name="input_b")
c = tf.add(a,b, name="add_c")
sess = tf.Session()
a_tmp,c_tmp = sess.run([a,c])#将a和c同时计算
print("a = ",a_tmp)
print("c = ",c_tmp)
执行结果为:
a = [83]
c = [84]
总结:在用sess.run执行op时,每次都是从输入开始完整的执行运算。除非中间某个变量被feed_dict操作替换。
相关文章推荐
- effective C ++ 学习笔记之 item 31 将文件间的编译依赖关系降至最低(未完成)
- struts学习笔记--解决了struts action中的execute方法不执行的问题
- 嵌入式学习笔记--关于ARM中SWP指令的执行顺序问题【待验证】
- seaJs学习笔记之javascript的依赖问题
- Objective-C 学习笔记之使用跨文件依赖关系
- Object-C学习笔记五-----使用跨文件依赖关系
- 微软企业库4.1学习笔记(二)各功能之间的依赖关系以及对象创建
- [原创]java WEB学习笔记99:Spring学习---Spring Bean配置:自动装配,配置bean之间的关系(继承/依赖),bean的作用域(singleton,prototype,web环境作用域),使用外部属性文件
- Spark2.x学习笔记:11、RDD依赖关系与stage划分
- spring学习笔记(5)——bean的继承与依赖关系
- <学习html>第二天笔记-标签分类、关系;开发工具;文档类型;标签语义化;HTML标签;问题“图像标签代码语法无误,但是图像显示不出来”
- 【编码】字符集与编码意义与关系、java编程编码问题相关学习笔记
- php管理依赖关系工具composer学习笔记
- 微软企业库4.1学习笔记(二)各功能之间的依赖关系以及对象创建
- MFC学习笔记.day02-创建窗口全过程,MFC执行顺序,BUTTON控件,对象与窗口关系
- 微软企业库4.1学习笔记(二)各功能之间的依赖关系以及对象创建
- JS学习笔记(五):关于$(function(){});里面的函数不执行问题
- 微软企业库4.1学习笔记(二)各功能之间的依赖关系以及对象创建
- seaJs学习笔记之javascript的依赖问题