[英]Simple Neural Network
當我想訓練它們時,我有輸入和輸出(XNOR 門)我遇到了一個錯誤。我只是想從基礎開始,但是.. 這是代碼;
import tensorflow as tf
import numpy as np
training_inputs = np.array([[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]],dtype=float)
training_outputs =np.array([1,0,0,1,0,1,1,0],dtype=float)
model = tf.keras.Sequential([
tf.keras.layers.Dense(units=1, input_shape=[1])
])
model.compile(loss='mean_squared_error',
optimizer=tf.keras.optimizers.Adam(0.1))
history = model.fit(training_inputs, training_outputs , epochs=500, verbose=False)
history
ValueError: Exception encountered when calling layer "sequential_14" (type Sequential).
Input 0 of layer "dense_14" is incompatible with the layer: expected axis -1of input shape to have value 1, but received input with shape (None, 2)
您的input_shape
不正確。 由於training_inputs
具有形狀(8, 3)
,這意味着 8 個樣本,每個樣本具有 3 個特征,因此您的 model 應該如下所示:
import tensorflow as tf
import numpy as np
training_inputs = np.array([[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]],dtype=float)
training_outputs =np.array([1,0,0,1,0,1,1,0],dtype=float)
model = tf.keras.Sequential([
tf.keras.layers.Dense(units=1, input_shape=(3,))
])
model.compile(loss='mean_squared_error',
optimizer=tf.keras.optimizers.Adam(0.1))
history = model.fit(training_inputs, training_outputs , epochs=500, verbose=False, batch_size=2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.