【发布时间】:2019-04-15 14:58:16
【问题描述】:
模型只为所有测试图像生成一个输出,尽管测试集具有所有可能的类。
我已经尝试过使用不同的优化器和损失函数。
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(64, (3, 3), input_shape=x.shape[1:], activation='relu'),
tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer="adam", loss="binary_crossentropy", metrics=["accuracy"])
model.fit(x, y, epochs=10, batch_size=32)
预期结果:预测给定图像的寄生或未感染样本。
实际结果:预测总是相同的类。所有图像都被寄生或所有图像未感染。
【问题讨论】:
-
您需要添加更多详细信息,例如每个班级有多少张图片、图片大小等。
-
你是如何测试分类器的?训练和验证的准确率是多少?
标签: python-3.x tensorflow machine-learning keras deep-learning