当我构建一个图后,我们需要开始执行这个图所指定的操作,在Tensorflow中通过tf.Session来完成图的执行操作。
通过Session对象,可以执行途中的Operation,同时计算得到Tensor的值。
首先我们观察其构建方法:
target参数主要是指定执行的引擎,一般在分布式处理会用到这个参数,graph参数指定执行某个图,config参数可以做丰富的操作,具体含义将在以后的文章说明。
对于Session,需要注意一下几点:
1.当用as_default方法时,虽然用了with,但是session仍然在with块外继续有效,你需要调用session.close()来关闭这个session。
2.为了限制一个session在一个with块中,可以去掉as_default方法来解决。
3.默认的session是属于主线程的,在多线程中,如果需要其它线程也共用这个session,那么需要明确的使用as_default方法。
4.在存在多图时,在with块中使用session.as_default,但session作用的图并不一定是默认的图,如果需要,则必须明确的指定。
5.列出session中所有可用的device
6.补充一点,opr.eval(),可以达到sess.run(opr)同样的效果,同时opr.run()等同于tf.get_default_session().run(opr)
对于Tensor同样成立
开发环境:
Python: 3.7
Tensorflow: r1.13
示例代码地址:https://github.com/jmsking/tensorflow-0-1.git
欢迎关注公众号【AIML_2018】
里面记录了自己在学习机器学习及深度学习的感悟,同时介绍了机器学习及深度学习的必备数学知识,希望大家一起进步。