【问题标题】:How do I create finish my image classification model?如何创建完成我的图像分类模型?
【发布时间】: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


    【解决方案1】:

    您可以通过以下方式拟合您的模型

    my_model.fit(train_generator, validation_data=val_generator, epochs=10)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      相关资源
      最近更新 更多