import sys sys.path.append("../") # noqa import keras_helper import keras_callbacks from tensorflow.python.keras.applications.vgg16 import VGG16, preprocess_input from tensorflow.python.keras.optimizers import Adam import tensorflow as tf if __name__ == "__main__": log_dir, checkpoints = keras_helper.ask_what_to_do_with_logfiles( log_dir='logs/vgg16/', ckpt="checkpoints/vgg16/{epoch:02d}.ckpt") dg = keras_helper.DataGenerators(train_path="../../Dataset/sample_sizes/64_images/", test_path="../../Dataset/test/", enable_augmentation=False, preprocessing_fn=preprocess_input) train_generator, test_generator, tensorboard_generator = dg.create_data_generators(224) train_samples, test_samples = dg.get_samples() batch_size = dg.get_batch_size() model = keras_helper.create_model(VGG16(input_shape=(224, 224, 3), include_top=False), train_up_to=2) model.compile(Adam(lr=0.0005), loss="categorical_crossentropy", metrics=["accuracy", keras_helper.top_3_acc]) print(model.summary()) tensorboard_callback = keras_callbacks.TensorBoardImage(log_dir=log_dir, model=model, DataGenerator=dg) checkpoint_callback = tf.keras.callbacks.ModelCheckpoint(checkpoints, period=20) model.fit_generator(train_generator, steps_per_epoch=train_samples // batch_size, epochs=100,
import sys sys.path.append("../") # noqa import keras_helper import keras_callbacks from tensorflow.python.keras.applications.inception_v3 import InceptionV3, preprocess_input from tensorflow.python.keras.optimizers import Adam import tensorflow as tf if __name__ == "__main__": log_dir, checkpoints = keras_helper.ask_what_to_do_with_logfiles( log_dir='./logs/inception_v3/', ckpt="checkpoints/inception_v3/{epoch:02d}.ckpt") dg = keras_helper.DataGenerators( train_path="../../Dataset/sample_sizes/64_images/", test_path="../../Dataset/test/", enable_augmentation=True, preprocessing_fn=preprocess_input) train_generator, test_generator, tensorboard_generator = dg.create_data_generators( 299) train_samples, test_samples = dg.get_samples() batch_size = dg.get_batch_size() model = keras_helper.create_model(InceptionV3(input_shape=(299, 299, 3), include_top=False), train_up_to=20) model.compile(Adam(lr=0.0001), loss="categorical_crossentropy", metrics=["accuracy", keras_helper.top_3_acc])
import sys sys.path.append("../") # noqa import keras_helper import keras_callbacks from tensorflow.python.keras.models import load_model from tensorflow.python.keras.applications.resnet50 import preprocess_input from tensorflow.python.keras.optimizers import Adam import tensorflow as tf if __name__ == "__main__": log_dir, checkpoints = keras_helper.ask_what_to_do_with_logfiles( log_dir='./logs/resnet_final/', ckpt="checkpoints/resnet_final/{epoch:02d}.ckpt") dg = keras_helper.DataGenerators( train_path="../../Dataset/sample_sizes/64_images/", test_path="../../Dataset/test/", enable_augmentation=True, preprocessing_fn=preprocess_input) train_generator, test_generator, tensorboard_generator = dg.create_data_generators( 224, 15, 0.15, 0.15, 0.25) train_samples, test_samples = dg.get_samples() batch_size = dg.get_batch_size() # model = keras_helper.create_model(ResNet50(input_shape=(224, 224, 3), include_top=False), train_up_to=6) model = load_model("checkpoints/resnet_final/200.ckpt", compile=False) keras_helper.set_untrainable(model, 10) model.compile(Adam(lr=0.000125), loss="categorical_crossentropy", metrics=["accuracy", keras_helper.top_3_acc])