TensorFlow实战Google深度学习框架:计算图的使用
前言:撸代码时遇到的一些问题,由于Python版本导致的。
原书代码:
# Author: Lcy
# E-mail: 164917669@qq.com
# Blog: http://blog.csdn.net/MissXy_
# Describe: 计算图的使用
# Date: 2017-11-21
import tensorflow as tf
g1 = tf.Graph()
with g1.as_default():
# 在计算图g1中定义变量“v”,并设置初始值为0
v = tf.get_variable(
"v", initializer=tf.zeros_initializer(shape=[1]))
g2 = tf.Graph()
with g2.as_default():
# 在计算图g2中定义变量“v”,并设置初始值为1
v = tf.get_variable(
"v", initializer=tf.ones_initializer(shape=[1]))
# 在计算图g1中读取变量v的取值
with tf.Session(graph=g1) as sess:
tf.initialize_all_variables().run()
with tf.variable_scope("",reuse=True):
# 在计算图g1中,变量“v”的取值应该为0,所以下面这行会输出[0.]
print(sess.run(tf.get_variable("v")))
# 在计算图g2中读取变量v的取值
with tf.Session(graph=g2) as sess:
tf.initialize_all_variables().run()
with tf.variable_scope("",reuse=True):
# 在计算图g1中,变量“v”的取值应该为1,所以下面这行会输出[1.]
print(sess.run(tf.get_variable("v")))
提示错误:
TypeError: __init__() got an unexpected keyword argument 'shape'
错误更改:
v = tf.get_variable("v", shape=[1], initializer=tf.zeros_initializer)
警告更改:
tf.global_variables_initializer().run()