当我声明我的变量时:
x = tf.Variable([len(_ELEMENT_LIST), 4], dtype=tf.float32)
我收到以下错误:
E0622 20:04:25.241938 21886 app.py:544] Top-level exception: Shape must be rank 1 but is rank 2 for 'input_layer/concat' (op: 'ConcatV2') with input shapes: [5], [5,1], [5,1], [].
E0622 20:04:25.252672 21886 app.py:545] Traceback (most recent call last):
当我这样做的时候:
x = tf.get_variable("x", [len(_ELEMENT_LIST), 4])
它有效
我正在尝试使用concat来计算张量。
tf.concat([
x, features["y"],
features["z"]
], 1)
答案 0 :(得分:2)
x = tf.Variable([len(_ELEMENT_LIST), 4], dtype=tf.float32)
tf.Variable
的第一个参数是变量的初始值,因此在上部语句x
中是一个值为[len(_ELEMENT_LIST), 4]
的变量,它的形状等级是1。
x = tf.get_variable("x", [len(_ELEMENT_LIST), 4])
tf.get_variable
的第二个参数是变量的形状,因此变量X的形状等级为2.