javascript - 如何将我的 TensorFlow saved_model.pb 转换为 Javascript?
问题描述
我已经能够在我的终端中运行 tensorflow 转换器,但我不确定如何更改 TensorFlow 提供的以下示例以在计算机上找到我的 saved_model.pb 路径并将其保存为 Javascript 文件:
tensorflowjs_converter \
--input_format=tf_saved_model \
--output_format=tfjs_graph_model \
--signature_name=serving_default \
--saved_model_tags=serve \
/mobilenet/saved_model \
/mobilenet/web_model
这是我在终端上的输入导致错误:
tensorflowjs_converter \
--input_format=tf_saved_model \
--output_format=tfjs_graph_model \
--signature_name=serving_default \
--saved_model_tags=serve \
/Users/name/Desktop/name\ name\ TensorFlow/saved_model \
/Users/name/Desktop/name\ name\ TensorFlow/web_model
usage: TensorFlow.js model converters. [-h]
[--input_format {tf_frozen_model,keras_saved_model,tfjs_layers_model,tf_hub,tf_saved_model,keras}]
[--output_format {tfjs_layers_model,keras_saved_model,tfjs_graph_model,keras}]
[--signature_name SIGNATURE_NAME]
[--saved_model_tags SAVED_MODEL_TAGS]
[--quantize_float16 [QUANTIZE_FLOAT16]]
[--quantize_uint8 [QUANTIZE_UINT8]]
[--quantize_uint16 [QUANTIZE_UINT16]]
[--quantization_bytes {1,2}]
[--split_weights_by_layer] [--version]
[--skip_op_check]
[--strip_debug_ops STRIP_DEBUG_OPS]
[--weight_shard_size_bytes WEIGHT_SHARD_SIZE_BYTES]
[--output_node_names OUTPUT_NODE_NAMES]
[--control_flow_v2 CONTROL_FLOW_V2]
[--experiments EXPERIMENTS]
[input_path] [output_path]
TensorFlow.js model converters.: error: unrecognized arguments: TensorFlow/saved_model /Users/ned/Desktop/name name TensorFlow/web_model
当我尝试使用 Tensorflow 转换器时,它说原来的路径是错误的:
Welcome to TensorFlow.js Converter.
? Please provide the path of model file or the directory that contains model fil
If you are converting TFHub module please provide the URL. /Users/name/Desktop/name\ name\ TensorFlow/saved_model.pb
? What is your input model format? (model format cannot be detected.) Tensorfl
? The original path seems to be wrong, what is the directory that contains the m
odel?
解决方案
我发现自己用 Python 编写转换器更容易,将脚本移动到与目录相同的文件夹,然后在那里运行它。像这样:
from tensorflow import keras
import tensorflowjs as tfjs
def importModel(modelPath):
model = keras.models.load_model(modelPath)
tfjs.converters.save_keras_model(model, "tfjsmodel")
importModel("modelDirectory")
这样,您只需将模型的目录名称写入相对路径名。
推荐阅读
- javascript - React Hooks useState 显示错误
- three.js - ThreeJS - 垂直平移相机而不倾斜?
- ibm-midrange - IBM i DB2 目录表/从物理文件中搜索唯一键
- ios - 应用程序图标未出现在 ios 的应用程序切换器中
- excel - 如何检查给定周数的任何一天是否在日期间隔范围之间
- python - 如何使用 scipy.optimize.curve_fit 在加权曲线拟合中包含 x 误差?
- c++ - 在绘画期间禁用 QWidget 的遮罩或让鼠标事件在没有遮罩的情况下通过
- reactjs - React-Redux:可视化元素数组
- python-3.x - Apple Script:如何将用户输入保存到文本文件
- csv - 如何将变量保存到现有 CSV 文件的最后一行