【发布时间】:2021-07-17 15:58:02
【问题描述】:
我正在尝试创建图像分类模型。我在下面附上了我的代码: 注意:我使用的是 TensorFlow,我有 12,611 张图像(用于训练)和一个带有适当标签的 csv 文件。验证和测试数据集也是如此,但图像数量不同。变量 df_train = 我的训练集的 csv 文件,变量 df_test = 我的测试集的 csv 文件。
#packages required for image preprocessing
from keras.applications.resnet50 import ResNet50
from keras.preprocessing import image
from keras.preprocessing.image import ImageDataGenerator
from keras.applications.resnet50 import preprocess_input
from keras.metrics import mean_absolute_error
image_size = 256
train_data_generator = ImageDataGenerator(preprocessing_function = preprocess_input)
val_data_generator = ImageDataGenerator(preprocessing_function = preprocess_input)
test_data_generator = ImageDataGenerator(preprocessing_function = preprocess_input)
#train data generator
train_generator = train_data_generator.flow_from_dataframe(
dataframe = train_df,
directory="/Users/folder/downloads/Boneage_competition/training_dataset/resized-training/",
validate_filenames = False,
x_col= 'id',
y_col= 'boneage',
batch_size = 56,
#flip_vertical = True,
class_mode = None,
target_size = (image_size, image_size)
)
#validation data generator
val_generator = val_data_generator.flow_from_dataframe(
dataframe = valid_df,
directory="/Users/folder/downloads/Boneage_competition/validation_dataset/resized-validation-1/",
validate_filenames = False,
x_col = 'id',
y_col = 'boneage',
batch_size = 140,
#flip_vertical = True,
class_mode = None,
target_size = (image_size, image_size)
)
#test data generator
test_generator = test_data_generator.flow_from_dataframe(
dataframe = df_test,
directory="/Users/dolferr/downloads/Boneage_competition/testing_dataset/resized-testing/",
validate_filenames = False,
x_col = 'id',
y_col = None,
#flip_vertical = True,
class_mode = None,
target_size = (image_size, image_size)
)
接着是:
from tensorflow.keras.applications.vgg16 import VGG16
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import GlobalMaxPooling2D, Dense, Flatten, GlobalAveragePooling2D
#Model definition
my_model = Sequential()
my_model.add(VGG16(input_shape=(image_size, image_size, 3), include_top=False, weights='imagenet'))
my_model.add(GlobalMaxPooling2D())
my_model.add(Flatten())
my_model.add(Dense(128, activation='relu'))
my_model.add(Dense(1, activation='linear'))
我如何从这里继续并拟合/运行我的模型?
【问题讨论】:
标签: python tensorflow machine-learning keras