def __init__(self, weights=None): super(Backbone, self).__init__() model = resnet.resnet_18() model.build(input_shape=(None, 256, 256, 3)) if weights is not None: model.load_weights(weights) self.conv1 = model.conv1 self.bn1 = model.bn1 self.pool1 = model.pool1 self.layer1 = model.layer1 self.layer2 = model.layer2 self.layer3 = model.layer3 self.layer4 = model.layer4 if False: self.conv1.trainable = False self.bn1.trainable = False self.pool1.trainable = False for layer in self.layer1.layers: layer.trainable = False for layer in self.layer2.layers: layer.trainable = False for layer in self.layer3.layers: layer.trainable = False for layer in self.layer4.layers: layer.trainable = False
def get_model(): model = resnet_50() if config.model == "resnet18": model = resnet_18() if config.model == "resnet34": model = resnet_34() if config.model == "resnet101": model = resnet_101() if config.model == "resnet152": model = resnet_152() model.build(input_shape=(None, config.image_height, config.image_width, config.channels)) model.summary() return model
def get_model(): if model_index == 0: return mobilenet_v1.MobileNetV1() elif model_index == 1: return mobilenet_v2.MobileNetV2() elif model_index == 2: return mobilenet_v3_large.MobileNetV3Large() elif model_index == 3: return mobilenet_v3_small.MobileNetV3Small() elif model_index == 4: return efficientnet.efficient_net_b0() elif model_index == 5: return efficientnet.efficient_net_b1() elif model_index == 6: return efficientnet.efficient_net_b2() elif model_index == 7: return efficientnet.efficient_net_b3() elif model_index == 8: return efficientnet.efficient_net_b4() elif model_index == 9: return efficientnet.efficient_net_b5() elif model_index == 10: return efficientnet.efficient_net_b6() elif model_index == 11: return efficientnet.efficient_net_b7() elif model_index == 12: return resnext.ResNeXt50() elif model_index == 13: return resnext.ResNeXt101() elif model_index == 14: return inception_v4.InceptionV4() elif model_index == 15: return inception_resnet_v1.InceptionResNetV1() elif model_index == 16: return inception_resnet_v2.InceptionResNetV2() elif model_index == 17: return se_resnet.se_resnet_50() elif model_index == 18: return se_resnet.se_resnet_101() elif model_index == 19: return se_resnet.se_resnet_152() elif model_index == 20: return squeezenet.SqueezeNet() elif model_index == 21: return densenet.densenet_121() elif model_index == 22: return densenet.densenet_169() elif model_index == 23: return densenet.densenet_201() elif model_index == 24: return densenet.densenet_264() elif model_index == 25: return shufflenet_v2.shufflenet_0_5x() elif model_index == 26: return shufflenet_v2.shufflenet_1_0x() elif model_index == 27: return shufflenet_v2.shufflenet_1_5x() elif model_index == 28: return shufflenet_v2.shufflenet_2_0x() elif model_index == 29: return resnet.resnet_18() elif model_index == 30: return resnet.resnet_34() elif model_index == 31: return resnet.resnet_50() elif model_index == 32: return resnet.resnet_101() elif model_index == 33: return resnet.resnet_152() elif model_index == 34: return se_resnext.SEResNeXt50() elif model_index == 35: return se_resnext.SEResNeXt101() else: raise ValueError("The model_index does not exist.")
wavegan = wrap_frozen_graph(graph_def, inputs='z:0', outputs='G_z:0') string_to_label = { "Zero": 0, "One": 1, "Two": 2, "Three": 3, "Four": 4, "Five": 5, "Six": 6, "Seven": 7, "Eight": 8, "Nine": 9 } inverse_mapping_model = resnet.resnet_18() inverse_mapping_model.load_weights( "inverse_mapping_model_checkpoint/generated_and_real_training.ckpt") classifier = resnet.resnet_18(num_classes=10, activation=tf.keras.activations.softmax) classifier.load_weights("classifier_checkpoint/model.ckpt") for l in classifier.layers: l.trainable = False classifier_middle_layer = tf.keras.Sequential(classifier.layers[0:5]) for l in inverse_mapping_model.layers: l.trainable = False
string_to_label = { "Zero": 0, "One": 1, "Two": 2, "Three": 3, "Four": 4, "Five": 5, "Six": 6, "Seven": 7, "Eight": 8, "Nine": 9 } #inverse_mapping_model = tf.keras.applications.ResNet50(classes=100, weights=None, input_shape=(256, 256, 3)) classifier = resnet.resnet_18(num_classes=10, activation=tf.keras.activations.softmax) #inverse_mapping_model.load_weights("inverse_mapping_model_checkpoint/inverse_mapping_weights_1d_mse.ckpt") loss_object = tf.keras.losses.CategoricalCrossentropy() optimizer = tf.keras.optimizers.Adam() train_loss = tf.keras.metrics.Mean(name='train_loss') train_acc = tf.keras.metrics.Accuracy(name='train_acc') test_loss = tf.keras.metrics.Mean(name='test_loss') test_acc = tf.keras.metrics.Accuracy(name='test_acc') @tf.function def train_step(audio, labels): audio = tf.signal.stft(audio, 256, 128, pad_end=True)
INPUT_SHAPE = (256, 256, 3) EPOCHS = args.epochs BATCH_SIZE = args.batch_size PREFETCH_SIZE = args.prefetch_size NUM_CLASSES = 1000 NUM_IMAGES = args.max_images VAL_SPLIT = 0.3 LOG_DIR = './logs_resnet' CHECKPOINT_DIR = './checkpoints_resnet' model = resnet_18() model.build(input_shape=(None, *INPUT_SHAPE)) model.summary() model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['categorical_accuracy']) print('Preparing imagenet data') imagenet = tfds.load('imagenet2012', data_dir='/media/mldata/imagenet', as_supervised=True) def resize_image(image, label): image = tf.image.convert_image_dtype(image, tf.float32) / 255 image = tf.image.resize(image, (INPUT_SHAPE[0], INPUT_SHAPE[1]))