Правильное понимание моей интуиции ... TenorFlow-> tensorflowjs_converter-> NodeJS server <- Приложение Reactjs
Я только что промочил ноги в TensorFlow.
Мой предполагаемый рабочий процесс
- Разработка модели, обучение в TensorFlow (Python) и model.save
- использовать tensorflowjs_converter
- развернуть файл model.json/shard на сервере nodejs
- использовать модель для прогнозирования / классификации из моего интерфейсного приложения "reactjs".
Используемый стек:
- TensorFlow 2.2
- Конвертер Tensorflowjs v1.7.4r1
- tfjs 2.0.0
- tfjs-узел 2.0.0
Вопросы:
Мой рабочий процесс в порядке и будет ли работать во всех ситуациях? Или я должен делать что-то по-другому на этапе "преобразователя" в зависимости от ситуации?
Дело в точке;
а. создали небольшую модель RNN/LSTM (tf.keras.sequential) и успешно преобразовали (без использования --input_format) и развернули на сервере nodejs и могли выполнять ее из моего 'reactjs', и все работает по назначению. УСПЕХ. (конечно, он создал GraphModel)
б. Используется та же методика в классификации текста с RNN (учебник) и преобразование ПРОСТО НЕУДАЧИ с ошибками.
'Невозможно найти операцию Placeholder, которая является входом в ReadVariableOp.'However, if I set --input_format=keras_saved_model , conversion is successful Why was this case different from (a.) ??
Возвращаясь к случаю (b) выше (Классификация текста с помощью учебника RNN)
а. Использовал tf.loadLayersModel для загрузки 'model.json' и получил следующую ошибку:
(node:11504) UnhandledPromiseRejectionWarning: Error: Provided weight data has no target variabl e: bidirectional/forward_lstm/lstm_cell_1/kernel at new ValueError (C:\dev\nodejs\ml\node_modules\@tensorflow\tfjs-layers\dist\tf-layers.node Why ? However, if I use option {strict:false} in tf.loadLayersModel , No error and model loads successfully. Is this the correct way ? Am I loosing something from the network by ignoring such cases by the usage of {strict:false}
б. Как мне использовать тот же текстовый кодировщик (tfds.features.text.SubwordTextEncoder) в моих nodejs, который я использовал в своем обучении?