TensorFlow 学习(二)—— tf.Session() 与 tf.Session().run()
2017-03-13 18:19
549 查看
1. 使用 tf.Session().run() 读取变量的值十分耗时
#CODING: UTF-8 import time import tensorflow as tf N = 100000 x = tf.constant([1.]) b = 1. with tf.Session() as sess: sess.run(tf.initialize_all_variables()) t1 = time.time() for _ in range(N): y = sess.run(x) print('使用sess.run() 读取变量数据耗时', time.time()-t1) t2 = time.time() for _ in range(N): a = b print('直接赋值耗时', time.time()-t2)
2. tf.Session().run() 与 Tensor.eval()
假设 x 为 tf 下的一个 Tensor 对象,t.eval() 执行的动作就是 tf.Session().run(t) 。import tensorflow as tf x = tf.constant([5.]) print(tf.Session().run(x)) with tf.Session(): print(x.eval())
在第二个例子中,session的作用就象context manager,context manager在with块的生存期,将session作为默认的 session。对简单应用的情形(如单元测试),context manager的方法可以得到更简洁的代码;如果你的代码要处理多个graph和 session,更直白的方式可能是显式调用Session.run()。
session.run()是非常耗时的,千万不要用session.run的方式去取数据
Session.run()和Tensor.eval()区别是什么?
相关文章推荐
- tensorflow学习笔记十四:tensorflow中的tf.app.run()
- tensorflow的学习tensor.eval()和session.run()
- 【tensorflow 学习】Session.run()和Tensor.eval()的区别
- TensorFlow学习---tf.nn.conv2d实现卷积操作
- [TensorFlow 学习笔记-04]卷积函数之tf.nn.conv2d
- TensorFlow- tf.argmax 函数学习
- TensorFlow学习笔记(5)----TF生成数据的方法
- 深度学习笔记——深度学习框架TensorFlow(四)[高级API tf.contrib.learn]
- Tensorflow API 学习(3)-tf.slice()
- TensorFlow学习笔记6----tf.contrib.learn Quickstart
- Tensorflow学习之tfrecords_reader
- TensorFlow学习---tf.nn.dropout防止过拟合
- TensorFlow学习(三):Graph和Session
- TensorFlow 学习(五)—— Session
- TensorFlow 学习(三)—— Variables(tf.initialize_all_variables()/tf.global_variables_initializer())
- TensorFlow学习(三):Graph和Session
- TensorFlow学习记录-- 7.TensorFlow高效读取数据之tfrecord详细解读
- tensorflow中的tf.app.run()
- TensorFlow 学习(一)—— tf.get_variable() vs tf.Variable(),tf.name_scope() vs tf.variable_scope()
- tensorflow学习笔记十四:TF官方教程学习 tf.contrib.learn Quickstart