TensorFlow 2.10.0中Dense层输入维度不兼容问题求助
解决TensorFlow Dense层输入维度不兼容问题
TensorFlow的Dense层要求输入至少是2维张量,格式为(批量大小, 特征数量)——第一个维度代表批量中的样本数,第二个是每个样本的特征数。你把张量转成了(4,)的一维张量,缺少了批量维度,所以触发了维度不兼容的错误。
给你两个可行的解决方法:
将张量reshape为带批量维度的2维张量,比如改成
(1, 4),对应代码:reshaped_r = tf.reshape(r, [1, 4])这样输入到
input_shape=(4,)的Dense层就符合要求了。如果你的原始张量
r运行时实际形状是(4,1)(即None对应批量大小4),可以先压缩多余维度再扩展批量维度:squeezed_r = tf.squeeze(r, axis=1) # 得到形状(4,) reshaped_r = tf.expand_dims(squeezed_r, axis=0) # 得到形状(1,4)
内容的提问来源于stack exchange,提问作者Tony Ferguson
相关产品推荐
相关产品推荐

