简体   繁体   English

简单的神经网络

[英]Simple Neural Network

I have inputs and outputs ( XNOR gate) when I want to train them I'm getting an error.I just wanted to start from the basics but.. Here is the code;当我想训练它们时,我有输入和输出(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)

Your input_shape is incorrect.您的input_shape不正确。 Since training_inputs has the shape (8, 3) , which means 8 samples with 3 features for each sample, your model should look like this:由于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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM