【发布时间】:2019-08-03 20:44:42
【问题描述】:
在机器学习方面,我是一个相对初学者。
我一直在使用以 TensorFlow 作为后端的 Keras,但由于某种原因,我在使用 CIFAR-10 数据集时没有得到很好的准确性。
这是我的代码。
model = Sequential()
batch_size = 250
model.add(Dense(100, input_shape = (3072, ), activation='relu',
bias_initializer = 'RandomNormal',kernel_regularizer=regularizers.l2(.01)))
model.add(Dense(50))
model.add(Dense(10))
model.compile(optimizer=keras.optimizers.SGD(lr=0.004),
loss='hinge', metrics=['categorical_accuracy'])
model.fit(x=X_train, y=utils.to_categorical(Y_Train, num_classes = 10),
batch_size = batch_size, epochs = 100, validation_split = .4)
X_Train 是 (50000, 3072) numpy 数组,Y_Train 是 (50000, 1) numpy 数组。
我得到的结果是
损失:1.1865
分类准确度:0.1696
val_loss:1.1859
val_categorical_accuracy:0.1668
在 100 个时期内。
我的设置是 Ubuntu 18.04、Python 3.6、Numpy 1.16、Keras 2.2.4
我的代码有什么问题吗,还是因为完全连接的神经网络只是一个糟糕的图像分类设置,应该使用卷积神经网络?
【问题讨论】:
标签: python tensorflow keras neural-network