我试图用8个类在orca调用数据集中训练keras的VGG16。数据包含针对orca调用的7类和针对负面的1类。数据包含orca调用的频谱图及其相应的标签。
即使经过50次训练,损失和准确性也不会改变。我尝试了特征缩放和各种学习率,但是模型根本没有学习任何东西。我已经手动检查了数据,很好。
代码:
model = keras.applications.vgg16.VGG16(include_top=True, weights=None, input_tensor=None, input_shape=(320, 480, 3), pooling='max', classes=8)
opt = keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-8, decay=1e-6, amsgrad=False)
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(x=X_train, y= Y_train, batch_size=16, epochs=2000, shuffle=True,validation_split=0.2)
我已经阅读了一些研究论文,并根据这些论文对图像进行了对比和其他类型的预处理。图像的上半部分变成白色,因为我感兴趣的频率位于下半部分。我选择了cmap ='gray'
,因为其中出现了更多的频率。我应该再去找一个cmap吗?