【发布时间】:2020-11-29 11:48:11
【问题描述】:
我正在尝试构建一个 Tensorflow 简单的 AI,当我将它与我阅读的有关该主题的各种文章进行比较时,我不明白我的问题出在哪里。
我有两个用于训练大小 (N,1)(应该预测什么)和 (N,3)(应该预测什么输入)的 numpy 数组,我希望我的算法使用 Input 进行预测[0,i] Input[1,i] Input[2,i] ToPredict[i] 的值(第 i 个样本)。 我以为我必须使用 tf.data.Dataset.from_tensor_slices 然后
modele = tf.keras.Sequential([ tf.keras.layers.Flatten(), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dense(1) ])
modele.compile(optimizer=tf.keras.optimizers.RMSprop(), loss=tf.keras.losses.SparseCategoricalCrossentropy(), metrics=['sparse_categorical_accuracy'])
modele.fit(A, epochs=10)
当我这样做时,我收到以下错误:
logits 和标签必须具有相同的第一维,得到 logits 形状 [3,10] 和标签形状 [1] [[node loss_9/output_1_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits(定义于:11)]] [Op:__inference_keras_scratch_graph_2640]
所以我知道存在形状错误,但我不知道如何告诉算法我想要什么形状。
谁能帮帮我?也是的,我看过相关的 stackoverflow 帖子,但它们似乎没有解决我的问题。
【问题讨论】:
标签: python numpy tensorflow keras