【发布时间】:2018-05-20 17:38:27
【问题描述】:
我有这个代码:
base = VGG16(weights='imagenet', include_top=False, input_shape=(64,64,3))
# convert to sequential model
model = Sequential()
for layer in base.layers:
model.add(layer)
# Remove last layer
model.layers.pop()
# add flatten and two dense layers that don't appear when specifying an input_shape
model.add(Flatten())
model.add(Dense(4096))
model.add(Dropout(.5))
model.add(Dense(4096))
model.add(Dropout(.5))
for layer in model.layers:
layer.trainable = False
# Add a layer for 3 classes
model.add(Dense(3, activation='softmax'))
model.compile(
optimizer = 'rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy']
)
# training
model.fit(x_train,y_train, epochs=30, batch_size=64, verbose=1)
# predict
y_target = model.predict(x_target, batch_size=64, verbose=1)
我似乎无法理解为什么它给了我如此低的准确度和糟糕的预测。有人可以向我解释一下吗?我正在使用 TensorFlow。
【问题讨论】:
-
取决于很多条件,输入数据质量、数据量、类分布等。
标签: python machine-learning neural-network keras deep-learning