Импорт модели Python Keras с весами в Tensorflow.js - PullRequest
0 голосов
/ 06 июля 2019

У меня есть несколько нейронных сетей для классификации изображений, разработанных в Python 3.7 с использованием пакета Keras, который включен в TensorFlow, и я хочу экспортировать модель слоев и весов, чтобы импортировать ее в приложение Node.js, которое использует Tensorflow.js..

Нейронные сети сохранены в формате h5 с двумя отдельными файлами: один для модели слоя, а другой для модели весов.Попробуйте следовать этому уроку, который предлагает Tensorflow (https://www.tensorflow.org/js/tutorials/conversion/import_keras),, но он не работает.

from tensorflow.python.keras.models import load_model
import numpy as np
import tensorflowjs as tf
import json

cnn_name = '1'

layers = './model/' + cnn_name + '/model.h5'
weights = './model/' + cnn_name + '/weights.h5'
cnn = load_model(layers)
cnn.load_weights(weights)

tf.converters.save_keras_model(cnn, './model/' + cnn_name + 'json/')

with open('./model/' + cnn_name + 'json/weights.json', 'w') as f:
    json.dump(tf.converters.keras_h5_conversion.h5_weights_to_tfjs_format(weights), f, cls=NumpyEncoder)

В узле я могу загрузить файл слоя с помощью функции tf.loadLayersModel и запустить модель, ноЯ не могу загрузить файл весов. Я думаю, что должен использовать метод loadWeights модели, которая возвращает функцию loadLayersModel, но вы должны передать манифест веса, и я не знаю, как его получить.

...