我有一个简单的网络:
input_layer = Input(1)
inner_layer = Dense(4, activation='relu')(input_layer)
output_layer = Dense(1, activation='linear')(inner_layer)
model = Model(input_layer, output_layer)
optimizer = Adam(learning_rate=0.01)
model.compile(optimizer=optimizer, loss='mse')
直观地说,对输入的推断将只是 。但是,这会生成此错误:0
model.predict(0)
expected input_2 to have 2 dimensions, but got array with shape ()
我知道它期望输入(这是一个单个数字)是二维的,但我不明白Tensorflow接受什么作为有效输入。我尝试了许多不同的输入组合,有些有效,有些不起作用,它似乎非常不一致,警告/错误通常没有用:
model.predict()
model.predict(0)
- 投掷
model.predict([0])
- 工程
model.predict([[0]])
- 工程
model()
model(0)
- 投掷
model([0])
- 投掷
model([[0]])
- 投掷
np.reshape
model(np.reshape(0,[1,1]))
- 工程
model(np.reshape([0],[1,1]))
- 工程
model(np.reshape([[0]],[1,1]))
- 工程
似乎一直在工作的是使用numpy的功能。它始终适用于所有输入,只要它们被重塑为形状即可。reshape
model.predict()
model()
[1,1]
在输入形状/类型方面,将输入馈送到张量流模型中的准则是什么?
“”是什么意思?shape ()
“”是什么意思?(None, 1)
为什么有效但无效?两者都创建一个二维集合。reshape
[[0]]
为什么在调用 // 时,此警告显示: ?model(0)
model([0])
model([[0]])
WARNING:tensorflow:Model was constructed with shape Tensor("input_1:0", shape=(None, 1), dtype=float32) for input (None, 1), but it was re-called on a Tensor with incompatible shape ()
冉冉说
相关分类