问题描述
在学习TensorFlow的时候,按照书上的指导编写代码,因为版本的原因出现很多问题,记录一下以待改善:
1.ValueError: Cannot evaluate tensor using `eval()`
#矩阵乘法通过tf.matmul函数完成
v1=tf.constant([[1.0,2.0],[3.0,4.0]])
v2=tf.constant([[5.0,6.0],[7.0,8.0]])
print((v1*v2).eval()) # *是元素之间直接相乘
print(tf.matmul(v1,v2).eval())
运行时编译器报错:ValueError: Cannot evaluate tensor using `eval()`: No default session is registered. Use `with sess.as_default()`
or pass an explicit session to `eval(session=sess)`
解决方法
根据编译器的提示,得知不能直接使用“.eval()“”这样的语法,要改为“with sess.as_default()”或者“eval(session=sess)”
将代码改为:
#矩阵乘法通过tf.matmul函数完成
v1=tf.constant([[1.0,2.0],[3.0,4.0]])
v2=tf.constant([[5.0,6.0],[7.0,8.0]])
#print((v1*v2).eval()) # *是元素之间直接相乘
with tf.Session() as sess:
print((v1*v2).eval())
#print(tf.matmul(v1,v2).eval())
with tf.Ses

在学习TensorFlow时遇到ValueError: Cannot evaluate tensor using `eval()`的问题。原因是没有默认会话。解决方案是使用`with sess.as_default()`或指定session参数。修改代码后,将`.eval()`替换为`tf.where`,`tf.initialize_all_variables()`替换为`tf.global_variables_initializer()`,问题得到解决。
最低0.47元/天 解锁文章
750

被折叠的 条评论
为什么被折叠?



