嗨,我是新手,必须从头开始训练 EfficientNet。已经下载了 EfficientNet,它可以通过 imagenet 权重来识别图像。我需要从头开始训练几个没有给定权重的不寻常类别。如果有人可以一步一步地展示它,包括如何准备训练 val 和测试图像,如何引入标签,如何声明模型的所有部分并训练它......保存模型。测试模型并使用更多图像重新训练该模型。我正在使用 python 和 jupyter notebook。
我确实有:
from keras.applications.imagenet_utils import decode_predictions
import numpy as np
import matplotlib.pyplot as plt
import efficientnet.keras as effnet
model = effnet.EfficientNetB0(weights = 'imagenet')
image = plt.imread('panda.jpg')
from efficientnet.keras import center_crop_and_resize, preprocess_input
# preprocess input
image_size = model.input_shape[1]
x = center_crop_and_resize(image, image_size=image_size)
x = preprocess_input(x)
x = np.expand_dims(x, 0)
# make prediction and decode
y = model.predict(x)
decode_predictions(y)
可以通过 imagenet 类别进行预测。