Правильное понимание моей интуиции ... TenorFlow-> tensorflowjs_converter-> NodeJS server <- Приложение Reactjs

Я только что промочил ноги в TensorFlow.

Мой предполагаемый рабочий процесс

  1. Разработка модели, обучение в TensorFlow (Python) и model.save
  2. использовать tensorflowjs_converter
  3. развернуть файл model.json/shard на сервере nodejs
  4. использовать модель для прогнозирования / классификации из моего интерфейсного приложения "reactjs".

Используемый стек:

  • TensorFlow 2.2
  • Конвертер Tensorflowjs v1.7.4r1
  • tfjs 2.0.0
  • tfjs-узел 2.0.0

Вопросы:

  1. Мой рабочий процесс в порядке и будет ли работать во всех ситуациях? Или я должен делать что-то по-другому на этапе "преобразователя" в зависимости от ситуации?

    Дело в точке;

    а. создали небольшую модель 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.) ??
    
  2. Возвращаясь к случаю (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, который я использовал в своем обучении?

0 ответов

Другие вопросы по тегам