【发布时间】:2019-10-26 15:44:15
【问题描述】:
我制作了一个简单的 NN,用于在输入层中用两个二进制值确定 XNOR 值。 我有带有标签的所有可能组合的 Numpy 数组。
代码:
from keras.models import Sequential
from keras.layers import Dense
import numpy
data = numpy.array([[0.,0.,1.],[0.,1.,0.],[1.,0.,0.],[1.,1.,1.]])
train = data[:,:-1] # Taking The same and All data for training
test = data[:,:-1]
train_l = data[:,-1]
test_l = data[:,-1]
train_label = []
test_label = []
for i in train_l:
train_label.append([i])
for i in test_l:
test_label.append([i]) # Just made Labels Single element...
train_label = numpy.array(train_label)
test_label = numpy.array(test_label) # Numpy Conversion
model = Sequential()
model.add(Dense(2,input_dim = 2,activation = 'relu'))
model.add(Dense(2,activation = 'relu'))
model.add(Dense(1,activation = 'relu'))
model.compile(loss = "binary_crossentropy" , metrics = ['accuracy'], optimizer = 'adam')
model.fit(train,train_label, epochs = 10, verbose=2)
model.predict_classes(test)
即使使用相同的数据集进行训练和测试......它也不能正确预测...... 我哪里错了?
我故意采用了整个数据集,因为它没有用 2 个值进行预测...
【问题讨论】:
标签: python numpy tensorflow machine-learning keras