python 中with用法以及with tf.Session(graph

系统 2383 0
  • With用法 以及 with tf.Session() as sess 用法
            
              import os
os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # 只显示 warning 和 Error
import tensorflow as tf
a = tf.constant([1.0,2.0],name = "a")
b = tf.constant([2.0, 3.0], name = "b")
result = a + b
# Launch the graph in a session.
sess = tf.Session() #创建session会话,相当于分配内存(资源)
print (sess.run(result)) #调用run方法,run这个result,并输出到屏幕上
sess.close()#关闭会话,释放内存
#使用with,也就是python的上下文管理器,执行会会自动关闭会话,释放内存,简单高效!
with tf.Session() as sess:
    print (sess.run(result))

            
          

运行结果

            
              [ 3.  5.]
[ 3.  5.]

            
          
  • g1.as_default()

as_default应用于有多个graph的场景

            
              g1 = tf.Graph() #创建一个计算图
with g1.as_default():
    v = tf.get_variable("v", shape = [1], initializer=tf.zeros_initializer)
g2 = tf.Graph()
with g2.as_default():
    v = tf.get_variable("v", shape = [1], initializer=tf.ones_initializer)
with tf.Session(graph = g1) as sess:
    tf.global_variables_initializer().run()
    with tf.variable_scope("", reuse=True):
        print(sess.run(tf.get_variable("v")))
with tf.Session(graph = g2) as sess:
    tf.global_variables_initializer().run()
    with tf.variable_scope("", reuse=True):
        print(sess.run(tf.get_variable("v")))

            
          

具体理解参考:
这里

  • tf.global_variables_initializer()用法
    sess.run(tf.global_variables_initializer()) ,这行代码的官方解释是 初始化模型的参数。
    具体原理参看这里

  • tf.get_variable()和tf.Variable()以及tf.variable_scope()用法
    这里
    其中with tf.variable_scope("", reuse=True):中的reuse=True表示重用。


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论