Re: Re: Re: Re: Re: project

From Mature Armadillo, 3 Months ago, written in Python, viewed 62 times. This paste is a reply to Re: Re: Re: Re: project from Big Meerkat - view diff
URL http://codebin.org/view/3adea3aa Embed
Download Paste or View Raw
  1. from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
  2. from tensorflow.keras.models import Sequential
  3. from tensorflow.keras.optimizers import Adam
  4. from tensorflow.keras.preprocessing.image import ImageDataGenerator
  5. from tensorflow.keras.applications.resnet import ResNet50
  6.  
  7. #import numpy as np
  8. #import os
  9.  
  10.  
  11. def load_train(path):
  12.     dataframe = pd.read_csv(path + '/labels.csv')
  13.     train_datagen = ImageDataGenerator(validation_split=0.25,
  14.                                        rescale=1. / 255)
  15.  
  16.     train_datagen_flow = train_datagen.flow_from_dataframe(
  17.         dataframe,
  18.         directory=path + '/final_files',
  19.         x_col='file_name',
  20.         y_col='real_age',
  21.         target_size=(150, 150),
  22.         batch_size=16,
  23.         class_mode='raw',
  24.         subset='training',
  25.         seed=12345)
  26.  
  27.     return train_datagen_flow
  28.  
  29. def load_test(path):
  30.     dataframe = pd.read_csv(path + '/labels.csv')
  31.     train_datagen = ImageDataGenerator(validation_split=0.25,
  32.                                        rescale=1. / 255)
  33.  
  34.     test_datagen_flow = test_datagen.flow_from_dataframe(
  35.         dataframe,
  36.         directory=path + '/final_files',
  37.         x_col='file_name',
  38.         y_col='real_age',
  39.         target_size=(150, 150),
  40.         batch_size=16,
  41.         class_mode='raw',
  42.         subset='validation',
  43.         seed=12345)
  44.  
  45.     return test_datagen_flow
  46.  
  47. def create_model(input_shape):
  48.     backbone = ResNet50(input_shape=input_shape,
  49.                     weights='imagenet',
  50.                     include_top=False)
  51.     model = Sequential()
  52.     model.add(backbone)
  53.     model.add(GlobalAveragePooling2D())
  54.     model.add(Dense(1, activation='relu'))
  55.  
  56.     optimizer = Adam(lr=0.00001)
  57.     model.compile(optimizer=optimizer, loss='mse', metrics=['mae'])
  58.     return model
  59.  
  60.  
  61. def train_model(model, train_data, test_data, batch_size=None, epochs=20, steps_per_epoch=None, validation_steps=None):
  62.     test_gen_flow = test_data
  63.     if steps_per_epoch is None:
  64.         steps_per_epoch = len(train_data)
  65.     if validation_steps is None:
  66.         validation_steps = len(test_gen_flow)
  67.     model.fit(train_data,
  68.               validation_data=test_data,
  69.               batch_size=batch_size, epochs=epochs,
  70.               steps_per_epoch=steps_per_epoch,
  71.               validation_steps=validation_steps,
  72.               verbose=2, shuffle=True)
  73.  
  74.     return model

Reply to "Re: Re: Re: Re: Re: project"

Here you can reply to the paste above