У меня есть модель, обученная на TensorFlow 1.3, Keras 2.0.6-tf с использованием tensorflow.contrib
Python API. Работает как шарм.
Но когда я загружаю модель в среде TensorFlow 1.4 (или более поздней версии), прогнозы постоянны, то есть не верны. Нет сообщения об ошибке.
Все, что я делаю, это:
from tensorflow.contrib.keras.api.keras.models import load_model
model = load_model(..)
predictions = model.predict(input, batch_size=batch_size)
Загрузка модели и веса независимо, а не только файл модели .h5
не имеет значения.
Это известная проблема, и если да, то есть ли обходной путь?
Спасибо за вашу помощь.
Вот файл h5 модели . И в случае, если это поможет разгадать эту загадку, вот краткое изложение модели:
____________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
====================================================================================================
input_3 (InputLayer) (None, 40, 256, 1) 0
____________________________________________________________________________________________________
BN0 (BatchNormalization) (None, 40, 256, 1) 4 input_3[0][0]
____________________________________________________________________________________________________
Conv1 (Conv2D) (None, 40, 256, 16) 96 BN0[0][0]
____________________________________________________________________________________________________
BN1 (BatchNormalization) (None, 40, 256, 16) 64 Conv1[0][0]
____________________________________________________________________________________________________
Conv2 (Conv2D) (None, 40, 256, 16) 1296 BN1[0][0]
____________________________________________________________________________________________________
BN2 (BatchNormalization) (None, 40, 256, 16) 64 Conv2[0][0]
____________________________________________________________________________________________________
Conv3 (Conv2D) (None, 40, 256, 16) 1296 BN2[0][0]
____________________________________________________________________________________________________
average_pooling2d_9 (AveragePool (None, 8, 256, 16) 0 Conv3[0][0]
____________________________________________________________________________________________________
BN3 (BatchNormalization) (None, 8, 256, 16) 64 average_pooling2d_9[0][0]
____________________________________________________________________________________________________
Conv4.1 (Conv2D) (None, 8, 256, 24) 12312 BN3[0][0]
____________________________________________________________________________________________________
Conv4.2 (Conv2D) (None, 8, 256, 24) 24600 BN3[0][0]
____________________________________________________________________________________________________
Conv4.3 (Conv2D) (None, 8, 256, 24) 36888 BN3[0][0]
____________________________________________________________________________________________________
Conv4.4 (Conv2D) (None, 8, 256, 24) 49176 BN3[0][0]
____________________________________________________________________________________________________
Conv4.5 (Conv2D) (None, 8, 256, 24) 73752 BN3[0][0]
____________________________________________________________________________________________________
Conv4.6 (Conv2D) (None, 8, 256, 24) 98328 BN3[0][0]
____________________________________________________________________________________________________
Concat.Conv4 (Concatenate) (None, 8, 256, 144) 0 Conv4.1[0][0]
Conv4.2[0][0]
Conv4.3[0][0]
Conv4.4[0][0]
Conv4.5[0][0]
Conv4.6[0][0]
____________________________________________________________________________________________________
Conv4.1x1 (Conv2D) (None, 8, 256, 36) 5220 Concat.Conv4[0][0]
____________________________________________________________________________________________________
average_pooling2d_10 (AveragePoo (None, 4, 256, 36) 0 Conv4.1x1[0][0]
____________________________________________________________________________________________________
BN4 (BatchNormalization) (None, 4, 256, 36) 144 average_pooling2d_10[0][0]
____________________________________________________________________________________________________
Conv5.1 (Conv2D) (None, 4, 256, 24) 27672 BN4[0][0]
____________________________________________________________________________________________________
Conv5.2 (Conv2D) (None, 4, 256, 24) 55320 BN4[0][0]
____________________________________________________________________________________________________
Conv5.3 (Conv2D) (None, 4, 256, 24) 82968 BN4[0][0]
____________________________________________________________________________________________________
Conv5.4 (Conv2D) (None, 4, 256, 24) 110616 BN4[0][0]
____________________________________________________________________________________________________
Conv5.5 (Conv2D) (None, 4, 256, 24) 165912 BN4[0][0]
____________________________________________________________________________________________________
Conv5.6 (Conv2D) (None, 4, 256, 24) 221208 BN4[0][0]
____________________________________________________________________________________________________
Concat.Conv5 (Concatenate) (None, 4, 256, 144) 0 Conv5.1[0][0]
Conv5.2[0][0]
Conv5.3[0][0]
Conv5.4[0][0]
Conv5.5[0][0]
Conv5.6[0][0]
____________________________________________________________________________________________________
Conv5.1x1 (Conv2D) (None, 4, 256, 36) 5220 Concat.Conv5[0][0]
____________________________________________________________________________________________________
average_pooling2d_11 (AveragePoo (None, 2, 256, 36) 0 Conv5.1x1[0][0]
____________________________________________________________________________________________________
BN5 (BatchNormalization) (None, 2, 256, 36) 144 average_pooling2d_11[0][0]
____________________________________________________________________________________________________
Conv6.1 (Conv2D) (None, 2, 256, 24) 27672 BN5[0][0]
____________________________________________________________________________________________________
Conv6.2 (Conv2D) (None, 2, 256, 24) 55320 BN5[0][0]
____________________________________________________________________________________________________
Conv6.3 (Conv2D) (None, 2, 256, 24) 82968 BN5[0][0]
____________________________________________________________________________________________________
Conv6.4 (Conv2D) (None, 2, 256, 24) 110616 BN5[0][0]
____________________________________________________________________________________________________
Conv6.5 (Conv2D) (None, 2, 256, 24) 165912 BN5[0][0]
____________________________________________________________________________________________________
Conv6.6 (Conv2D) (None, 2, 256, 24) 221208 BN5[0][0]
____________________________________________________________________________________________________
Concat.Conv6 (Concatenate) (None, 2, 256, 144) 0 Conv6.1[0][0]
Conv6.2[0][0]
Conv6.3[0][0]
Conv6.4[0][0]
Conv6.5[0][0]
Conv6.6[0][0]
____________________________________________________________________________________________________
Conv6.1x1 (Conv2D) (None, 2, 256, 36) 5220 Concat.Conv6[0][0]
____________________________________________________________________________________________________
average_pooling2d_12 (AveragePoo (None, 1, 256, 36) 0 Conv6.1x1[0][0]
____________________________________________________________________________________________________
BN6 (BatchNormalization) (None, 1, 256, 36) 144 average_pooling2d_12[0][0]
____________________________________________________________________________________________________
Conv7.1 (Conv2D) (None, 1, 256, 24) 27672 BN6[0][0]
____________________________________________________________________________________________________
Conv7.2 (Conv2D) (None, 1, 256, 24) 55320 BN6[0][0]
____________________________________________________________________________________________________
Conv7.3 (Conv2D) (None, 1, 256, 24) 82968 BN6[0][0]
____________________________________________________________________________________________________
Conv7.4 (Conv2D) (None, 1, 256, 24) 110616 BN6[0][0]
____________________________________________________________________________________________________
Conv7.5 (Conv2D) (None, 1, 256, 24) 165912 BN6[0][0]
____________________________________________________________________________________________________
Conv7.6 (Conv2D) (None, 1, 256, 24) 221208 BN6[0][0]
____________________________________________________________________________________________________
Concat.Conv7 (Concatenate) (None, 1, 256, 144) 0 Conv7.1[0][0]
Conv7.2[0][0]
Conv7.3[0][0]
Conv7.4[0][0]
Conv7.5[0][0]
Conv7.6[0][0]
____________________________________________________________________________________________________
Conv7.1x1 (Conv2D) (None, 1, 256, 36) 5220 Concat.Conv7[0][0]
____________________________________________________________________________________________________
BN7 (BatchNormalization) (None, 1, 256, 36) 144 Conv7.1x1[0][0]
____________________________________________________________________________________________________
flatten_3 (Flatten) (None, 9216) 0 BN7[0][0]
____________________________________________________________________________________________________
dropout_3 (Dropout) (None, 9216) 0 flatten_3[0][0]
____________________________________________________________________________________________________
dense_7 (Dense) (None, 64) 589888 dropout_3[0][0]
____________________________________________________________________________________________________
batch_normalization_5 (BatchNorm (None, 64) 256 dense_7[0][0]
____________________________________________________________________________________________________
dense_8 (Dense) (None, 64) 4160 batch_normalization_5[0][0]
____________________________________________________________________________________________________
batch_normalization_6 (BatchNorm (None, 64) 256 dense_8[0][0]
____________________________________________________________________________________________________
dense_9 (Dense) (None, 256) 16640 batch_normalization_6[0][0]
====================================================================================================
Total params: 2,921,684
Trainable params: 2,921,042
Non-trainable params: 642