Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tensorflow.keras.applications.resnet import ResNet50
- from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
- from tensorflow.keras.models import Sequential
- from tensorflow.keras.preprocessing.image import ImageDataGenerator
- from tensorflow.keras.optimizers import Adam
- import pandas as pd
- train_datagen = ImageDataGenerator(rescale=1./255,
- horizontal_flip=True,
- zoom_range=0.2,
- )
- test_datagen = ImageDataGenerator(rescale=1./255)
- def load_train(path):
- labels = pd.read_csv(path + 'labels.csv')
- train_datagen_flow = train_datagen.flow_from_dataframe(
- dataframe=labels,
- directory=path + '/final_files',
- x_col='file_name',
- y_col='real_age',
- target_size=(224, 224),
- batch_size=64,
- class_mode='raw',
- subset='training',
- seed=42)
- return train_datagen_flow
- def load_test(path):
- labels = pd.read_csv(path + 'labels.csv')
- test_datagen_flow = test_datagen.flow_from_dataframe(
- dataframe=labels,
- directory=path + '/final_files',
- x_col='file_name',
- y_col='real_age',
- target_size=(224, 224),
- batch_size=32,
- class_mode='raw',
- subset='validation',
- seed=42)
- return test_datagen_flow
- def create_model(input_shape):
- optimizer = Adam(learning_rate=0.0001)
- cnn = ResNet50(input_shape=input_shape, include_top=False,
- weights='/datasets/keras_models/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5',
- )
- model = Sequential()
- model.add(cnn)
- model.add(GlobalAveragePooling2D())
- model.add(Dense(1, activation="relu"))
- model.compile(loss="mean_absolute_error", optimizer=optimizer, metrics=["mae"])
- return model
- def train_model(model, train_data, test_data, batch_size=None, epochs=10,
- steps_per_epoch=None, validation_steps=None):
- model.fit(train_data,
- validation_data=test_data,
- batch_size=batch_size,
- epochs=epochs,
- steps_per_epoch=steps_per_epoch,
- verbose=2, shuffle=True)
- return model
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement