Как загрузить модель Keras? - PullRequest
1 голос
/ 20 февраля 2020

Привет, я пытаюсь загрузить модель keras, созданную в Keras: версия 2.2.4, и пытаюсь загрузить версию ниже указанной.

  • Ubuntu: 18.04
  • python: 3.6.9
  • версия tenorflow: 1.13.1
  • Версия Keras: 2.3.1

Я попытался загрузить модель, как указано ниже ,

import tensorflow as tf

classifierLoad = tf.keras.models.load_model('w.hdf5')

при загрузке показывает ошибку, подобную этой.

/ usr / local / lib / python3 .6 / dist-packages / tenorflow / python / framework / dtypes.py: 526: FutureWarning: передача (type, 1) или '1type' в качестве синонима типа устарела; в будущей версии numpy это будет пониматься как (тип, (1,)) / '(1,) тип'. _np_qint8 = np.dtype ([("qint8", np.int8, 1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:527: FutureWarning : Передача (type, 1) или '1type' как синоним типа не рекомендуется; в будущей версии numpy это будет пониматься как (тип, (1,)) / '(1,) тип'. _np_quint8 = np.dtype ([("quint8", np.uint8, 1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:528: FutureWarning : Передача (type, 1) или '1type' как синоним типа не рекомендуется; в будущей версии numpy это будет пониматься как (type, (1,)) / '(1,) type'. _np_qint16 = np.dtype ([("qint16", np.int16, 1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:529: FutureWarning : Передача (type, 1) или '1type' как синоним типа не рекомендуется; в будущей версии numpy это будет пониматься как (type, (1,)) / '(1,) type'. _np_quint16 = np.dtype ([("quint16", np.uint16, 1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:530: FutureWarning : Передача (type, 1) или '1type' как синоним типа не рекомендуется; в будущей версии numpy это будет пониматься как (type, (1,)) / '(1,) type'. _np_qint32 = np.dtype ([("qint32", np.int32, 1)]) /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/dtypes.py:535: FutureWarning : Передача (type, 1) или '1type' как синоним типа не рекомендуется; в будущей версии numpy это будет пониматься как (type, (1,)) / '(1,) type'. np_resource = np.dtype ([("resource", np.ubyte, 1)]) ПРЕДУПРЕЖДЕНИЕ: tenorflow: From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/resource_variable_ops. py: 435: colocate_with (from tenorflow. python .framework.ops) устарела и будет удалена в следующей версии. Инструкция по обновлению: Колокейшн обрабатывается автоматически россыпью. 2020-02-20 18: 17: 45.291135: W tenorflow / core / platform / profile_utils / cpu_utils. cc: 98] Не удалось найти bogomips в / proc / cpuinfo; невозможно определить частоту ЦП 2020-02-20 18: 17: 45.292283: I tenorflow / compiler / xla / service / service. cc: 161] Служба XLA 0x27584260, выполняющая вычисления на платформе Host. Устройства: 2020-02-20 18: 17: 45.292367: I tenorflow / компилятор / xla / service / service. cc: 168] Устройство StreamExecutor (0):, 2020-02-20 18: 17: 45.438308: I tenorflow /stream_executor/cuda/cuda_gpu_executor.cc:965] ARM64 не поддерживает NUMA - возвращение нулевого узла NUMA 2020-02-20 18: 17: 45.438696: Я тензор потока / компилятор / xla / service / service. cc: 161 ] Сервис XLA 0x237da820, выполняющий вычисления на платформе CUDA. Устройства: 2020-02-20 18: 17: 45.438755: I tenorflow / компилятор / xla / service / service. cc: 168] Устройство StreamExecutor (0): NVIDIA Tegra X1, Compute Capability 5.3 2020-02-20 18: 17: 45.439077: I tenorflow / core / common_runtime / gpu / gpu_device. cc: 1433] Найдено устройство 0 со свойствами: имя: NVIDIA Tegra X1 Major: 5 вспомогательных: 3 memoryClockRate (GHz): 0,9216 pciBusID: 0000: 00: 00.0 totalMemory: 3.87GiB freeMemory: 569.37MiB 2020-02-20 18: 17: 45.439136: I tenorflow / core / common_runtime / gpu / gpu_device. cc: 1512] Добавление видимых устройств GPU: 0 2020-02-20 18: 17: 50.292455: I tenorflow / core / common_runtime / gpu / gpu_device. cc: 984] Соединение устройств StreamExecutor с матрицей фронта прочности 1: 2020-02-20 18: 17: 50.295363: I tenorflow / core / common_runtime / gpu / gpu_device. cc: 990] 0 2020-02-20 18 : 17: 50.295391: I tenorflow / core / common_runtime / gpu / gpu_device. cc: 1003] 0: N 2020-02-20 18: 17: 50.295579: I tenorflow / core / common_runtime / gpu / gpu_device. cc : 1115] Создано устройство TensorFlow (/ job: localhost / replica: 0 / task: 0 / device: GPU: 0 с памятью 105 МБ) -> физический GPU (устройство: 0, имя: NVIDIA Tegra X1, идентификатор шины pci: 0000 : 00: 00.0, возможность вычислений: 5.3) Traceback (последний вызов был последним): файл "translation_keras_to_trt.py", строка 32, в модели = load_model (имя-модели, custom_objects = {'Адам': лямбда ** kwargs: hvd.DistributedOptimizer (keras.optimizers.Adam (** kwargs))} Файл "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/saving.py", строка 249, в load_model optimizer_config, custom_objects = custom_objects) Файл "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/optimizers.py", строка 838, в десериализации printable_module_name = 'optimizer') Файл "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/utils/generic_utils.py", строка 194, в deserialize_keras_object возвращает cls Файл .from_config (cls_config) "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/optimizers.py", строка 159, в файле from_config, возвращает файл cls (** config) "/ usr / local / lib / python3 .6 / dist-packages / tenorflow / python / keras / optimizers.py ", строка 471, в init super (Adam, self). init (** kwargs) Файл "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/optimizers.py", строка 68, в init 'пройден оптимизатору: '+ str (k)) TypeError: Неожиданный аргумент ключевого слова передан оптимизатору: name

Любое предложение

Ответы [ 2 ]

2 голосов
/ 24 февраля 2020

Ваша проблема связана с тем, что вы смешиваете простые keras и tensorflow.keras версии.

Они несовместимы. В будущем, если вы хотите обучить модель, убедитесь, что вы обучаете модель, скажем, tensorflow.keras, а затем загружаете из tensorflow.keras при тестировании.

0 голосов
/ 24 февраля 2020

Я нашел способ загрузить модель, я думаю, что это неправильный метод, но я начал обучение по версии keras 2.3.1 и версии tenorflow 1.14.1, которую загружает модель.

...