def mobilefacenet_train(resume=False): x = inputs = tf.keras.layers.Input(shape=(112, 96, 3)) x = mobilefacenet(x) if not resume: x = tf.keras.layers.Dense(cls_num)(x) outputs = tf.nn.softmax(x) return tf.keras.models.Model(inputs, outputs) else: y = tf.keras.layers.Input(shape=(cls_num, )) outputs = ArcFace_v2(n_classes=cls_num)((x, y)) return tf.keras.models.Model([inputs, y], outputs)
def mobilefacenet_train(softmax=False): if RESUME: model = keras.models.load_model(LOAD_MODEL_PATH) inputs = model.input x = model.output else: x = inputs = tf.keras.layers.Input(shape=(112, 96, 3)) x = mobilefacenet(x) if softmax: x = tf.keras.layers.Dense(cls_num)(x) outputs = tf.keras.layers.Activation('softmax', dtype='float32', name='predictions')(x) return tf.keras.models.Model(inputs, outputs) else: y = tf.keras.layers.Input(shape=(cls_num, ), name="target") outputs = ArcFace_v2(n_classes=cls_num)((x, y)) return tf.keras.models.Model([inputs, y], outputs)