1.变量未初始化
报错内容——Attempting to use uninitialized value full_connection/Variable
原因:1,未初始化变量,2,初始化变量的位置不正确
正确演示:
#创建变量,应在初始化变量之前
a=tf.Variable(initial_value=tf.random_normal(shape=shape, stddev=0.01))
# 初始化变量
init = tf.global_variables_initializer()
2.变量类型导致
报错内容——x and y must have the same dtype, got tf.float32 != tf.int32
原因:1,a / b时,当a属性为Tensor("Const:0", shape=(2, 3), dtype=float32)
tensor b 的属性 <class 'tensorflow.python.framework.tensor_shape.Dimension'>
解决方法:将b 转变tf.cast()为可以运算的类,或使用value
import tensorflow as tf
a=tf.constant([[1,2,3],[2,3,4]])
print(a)
#使用shape,get_shape获取张量的形状的属性是TensorShape,直接索引获取值的属性为#tensor_shape.Dimension,无法当被除数来参加运算,可以使用value使其变为int32类型
print(a.get_shape())
print(type(a.shape))
print(a.shape[0],type(a.shape[0]))
print(a.shape[0].value,type(a.shape[0].value))
输出结构
Tensor("Const:0", shape=(2, 3), dtype=int32)
(2, 3)
<class 'tensorflow.python.framework.tensor_shape.TensorShape'>
2 <class 'tensorflow.python.framework.tensor_shape.Dimension'>
2 <class 'int'>
3.版本更新导致,或函数名错误
报错内容——AttributeError:_parse_flags
原因:TensorFlow版本升级后,它就无情的抛弃了FLAGS._parse_flags()这种用法,改成了用FLAGS.flag_values_dict()
解决方法:使用FLAGS.flag_values_dict()