分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
- session:
with tf.Session() as sess:
/tf.InteractiveSession()
初始化:
- tf.global_variables_initializer()
with tf.Session() as sess: sess.run(tf.global_variables_initializer())
- 1
- 2
1. 使用 tf.Session().run() 读取变量的值十分耗时
#CODING: UTF-8import timeimport tensorflow as tfN = 100000x = 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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
2. tf.Session().run() 与 Tensor.eval()
假设 x 为 tf 下的一个 Tensor 对象,t.eval() 执行的动作就是 tf.Session().run(t) 。
import tensorflow as tfx = tf.constant([5.])print(tf.Session().run(x))with tf.Session(): print(x.eval())
- 1
- 2
- 3
- 4
- 5
- 6
- 7
在第二个例子中,session的作用就象context manager,context manager在with块的生存期,将session作为默认的 session。对简单应用的情形(如单元测试),context manager的方法可以得到更简洁的代码;如果你的代码要处理多个graph和 session,更直白的方式可能是显式调用Session.run()。
- <a href=“http://blog.youkuaiyun.com/lujiandong1/article/details/53487572”, target="_blank">session.run()是非常耗时的,千万不要用session.run的方式去取数据
- <a href=“http://www.tensorfly.cn/bbs/forum.php?mod=viewthread&tid=14”, target="_blank">Session.run()和Tensor.eval()区别是什么?
给我老师的人工智能教程打call!http://blog.youkuaiyun.com/jiangjunshow
