【发布时间】:2020-09-17 07:05:20
【问题描述】:
我想从0到9预测数字是5还是不是。我使用了cmaterdb数据集。
对于这个任务,我已经更改了训练和测试数据集中除 5 之外的所有数字标签 0
new_train_label=np.copy(train_labels)
for i, label in enumerate(new_train_label):
new_train_label[i] = 0 if (label == 5) else 1
new_test_label=np.copy(test_labels)
for i, label in enumerate(new_test_label):
new_test_label[i] = 0 if (label == 5) else 1
#train up model using cnn
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout
from keras.layers import Flatten
from keras.layers.convolutional import Conv2D
from keras.layers.convolutional import MaxPooling2D
from keras.utils import np_utils
model = Sequential()
model.add(MaxPooling2D(pool_size=(3, 3)))
model.add(Conv2D(15, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(3, 3)))
model.add(Dropout(0.02))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dense(50, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
model.fit(train_examples, new_train_label, epochs=30)
val_loss, val_acc = model.evaluate(test_examples,new_test_label)
print(val_loss)
print(val_acc)
虽然准确度不错,但无法预测 5.我的代码或逻辑有什么问题?
【问题讨论】:
-
请不要在没有理由的情况下对整个句子使用粗体(已编辑)。
标签: machine-learning keras neural-network conv-neural-network