Я получаю эту ошибку при выводе сохраненной модели в команду tf js -node 1.7.0:
const ssd_model_path = 'file://models/ssd-centernet-please/model.json'
...
const pred = await this.model.executeAsync(
{ "input_1:0" : imageTensor },
[ "lambda_1/map/TensorArrayStack/TensorArrayGatherV3:0"]);
Ошибка:
Error: Error in concat4D: rank of tensors[4] must be the same as the rank of the rest (4)
at Object.assert (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-core/dist/util.js:105)
at /Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-core/dist/ops/concat_util.js:23
at Array.forEach (<anonymous>)
at Object.assertParamsConsistent (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-core/dist/ops/concat_util.js:22)
at concat_ (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-core/dist/ops/concat_split.js:176)
at Object.concat (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-core/dist/ops/operation.js:46)
at Object.exports.executeOp (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-converter/dist/src/operations/executors/slice_join_executor.js:29)
at /Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-converter/dist/src/operations/operation_executor.js:73
at /Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-core/dist/engine.js:388
at Engine.scopedRun (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-core/dist/engine.js:398)
at Engine.tidy (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-core/dist/engine.js:387)
at Object.tidy (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-core/dist/globals.js:176)
at /Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-converter/dist/src/operations/operation_executor.js:73
at Object.executeOp (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-converter/dist/src/operations/operation_executor.js:91)
at _loop_1 (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-converter/dist/src/executor/graph_executor.js:386)
at GraphExecutor.processStack (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-converter/dist/src/executor/graph_executor.js:412)
at GraphExecutor.<anonymous> (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-converter/dist/src/executor/graph_executor.js:340)
at step (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-converter/dist/src/executor/graph_executor.js:59)
at Object.next (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-converter/dist/src/executor/graph_executor.js:40)
at fulfilled (/Users/bradleybrown/Desktop/naimii/node_modules/@tensorflow/tfjs-converter/dist/src/executor/graph_executor.js:31)
для получения модели тензорного потока .
Команда, которую я использую для преобразования моей сохраненной модели tensorfow (1.15.0) в javascript, выглядит следующим образом:
tensorflowjs_converter \
--strip_debug_ops True \
--input_format=tf_saved_model \
--output_node_names="lambda_1/map/TensorArrayStack/TensorArrayGatherV3:0" \
--output_format tfjs_graph_model \
--saved_model_tags=serve \
--signature_name predict \
./ssd-res18 \
./ssd-centernet-please
Правильные выводы сохраненной модели в python, и у меня есть раньше я мог использовать разные модели в tf js, так что я знаю, что это не проблема.
Если кто-нибудь что-нибудь знает об этом, пожалуйста, дайте мне знать!