Esempio n. 1
0
    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
Esempio n. 2
0
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
Esempio n. 3
0
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.")
Esempio n. 4
0
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
Esempio n. 5
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 = 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]))