Проблема с весами Keras InceptionV3? Вопрос об использовании предварительно обученной модели в Keras - PullRequest
0 голосов
/ 15 октября 2019

Это скорее «проблема», а не вопрос, но я кое-что заметил сегодня, когда пытался перенести обучение с использованием Keras. Я обнаружил, что модель InceptionV3 и предварительно обученные веса в хранилище Франсуа Шоле отличаются от Kaggle one . Я проверил это с помощью команды diff. Мало того, что когда я использую кодовый блок, как показано ниже -

from keras.applications.inception_v3 import InceptionV3

Inception_pretrained_weight = '../pre_weight/inception_v3_weights_tf_dim_ordering_tf_kernels_chollet.h5'

pre_trained_model = InceptionV3(input_shape=(160, 160, 3), 
                           include_top=False, 
                           weights=Inception_pretrained_weight)

for lr in pre_trained_model.layers:
    lr.trainable = False


for layr in pre_trained_model.layers:
    print("layer names: ", layr.name)

, я получаю ошибку как -

ValueError: Layer #0 (named "conv2d_753" in the current model) was found to correspond to layer convolution2d_1 in the save file. However the new layer conv2d_753 expects 1 weights, but the saved weights have 2 elements.

Этого не происходит с моделью, доступной на Kaggleстр. Кто-нибудь еще это заметил? Кто-нибудь знает как и почему эти модели отличаются? Я нашел другой пост по этому вопросу - здесь , но это не очень помогает. Мы ценим любые предложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...