问题标签 [tensorflowjs-converter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
540 浏览

tensorflow - 将 Python Keras NLP 模型转换为 Tensorflowjs

我正在尝试了解有关 Tensorflowjs 的更多信息,但遗憾的是,我无法将我的 Keras NLP 模型转换为 Tensorflowjs。

这就是我要转换的内容:

Tensorflowjs 方面:

如何让 Tokenizer 运行并做出正确的预测?

0 投票
1 回答
132 浏览

tensorflow - 区分磁盘模型的类型

Tensorflow 有几种模型格式

  1. TensorFlow SavedModel 2. Frozen Model 3. Session Bundle 4. Tensorflow Hub 模块

你如何区分它们在磁盘上?(稍后与 tensorflowjs-converter 一起使用)

每个模型是如何创建的?

0 投票
1 回答
1287 浏览

python - tensorflowjs转换器中无法识别的参数

我正在使用 tf_saved_model 来保存模型

以下教程。但是当我尝试将模型转换为 tensorflowjs 模型时出现问题

带张量流版本

我试过了

结果: TensorFlow.js model converters.: error: unrecognized arguments: /model /web_model

还有一个问题,论点的output_node_names真正含义是什么?

0 投票
2 回答
808 浏览

tensorflow - 在 tensorflowjs_converter 中替代 tf_frozen_model

我是 tensorflow 的新手,并通过 pip 安装了当前的 tensorflowjs(1.1.2),因为我想将冻结的推理图 ( .pb) 转换为 tensorflowjs 文件 ( --output_format=tensorflowjs)。我遵循了一个--input_format=tf_frozen_model建议的教程,这个版本的 tensorflowjs,但是不再支持这样的选项并返回错误消息error:argument --input_format: invalid choice: 'tf_frozen_model'。此选项是否已完全替换,还是仅重命名?我尝试安装 version tensorflowjs v.0.8.0,这导致了一堆 ImportErrors (for Keras) 和依赖冲突。我在这里想念什么吗?

0 投票
1 回答
6983 浏览

tensorflow - 如何在浏览器上使用 TFJS 运行 TFLite 模型(AutoML Vision Edge)

我用 AutoML Vision Edge 训练了一个模型。我想推断浏览器上的图像。

tensorflowjs_converter 的 input_format 不支持 TFLite。tflite_convert 命令无法转换为 TFLite 以外的模型。

如何在浏览器上使用 TFJS 运行 TFLite 模型(AutoML Vision Edge)?

0 投票
1 回答
554 浏览

javascript - 如何在不初始化权重的情况下导入训练模型

我使用 tensorflowjs-converter 将在 ImageNet 上预训练的 EfficientNet 模型转换为 tensorflow-js。当我尝试将模型加载到我的脚本中时,它会尝试使用未在 tfjs 中实现的初始化程序来初始化权重。然而,没有必要初始化权重,因为模型已经过预训练并且权重也被转换了。转换后的模型在这里: https ://github.com/paulsp94/tfjs_efficientnet3_imagenet

这是问题的 CodePen 示例: https ://codepen.io/paulsp94/pen/XLNdJq

您必须打开浏览器的控制台,才能看到正确的错误。

错误是:

错误:“未知初始化程序:EfficientConv2DKernelInitializer。这可能是由于以下原因之一:1.初始化程序是在 Python 中定义的,在这种情况下,它需要移植到 TensorFlow.js 或您的 JavaScript 代码。2.自定义初始化程序在 JavaScript 中定义,但未使用 tf.serialization.registerClass() 正确注册。”

更新: 虽然我可以绕过初始化程序,但将所有未知的初始化程序替换为例如 Zeros 初始化程序。我遇到了当前无法解决的自定义图层(Swish 图层)的另一个问题。

0 投票
1 回答
188 浏览

tensorflowjs-converter - 冻结模型的 Tensorflowjs 转换失败

TensorFlow.js 模型转换器。:错误:参数 --input_format:无效选择:“tf_frozen_model”(从“keras”、“tfjs_layers_model”、“tensorflowjs”、“tf_saved_model”、“tf_hub”、“keras_saved_model”中选择)尝试转换一个冻结的模型,但每次我运行时都会出现上述错误

0 投票
0 回答
594 浏览

javascript - 如何优化重新训练的 ssd_mobilenet_v2_coco 以进行 tensorflowjs 推理?

我正在尝试通过松散地遵循本教程来重新训练用于自定义对象检测的 mobilenet_v2 模型。我的最终目标是拥有一个我可以查询的 web_model,它将提供分数、classId 和检测次数。最终导出的推理模型在 python 环境中工作,但目前在转换为 web 时会抛出奇怪的错误。

感觉在我的管道中某处缺少一个步骤,以使推理图能够转换为 web。这似乎是model_main.py设置的问题is_training=True,最终与最终的推理模型有关。我似乎找不到任何关于如何从我的训练模型生成非训练模型的支持文档或教程。

我一直在使用 tensorflow-gpu 1.13.1 并重新训练object detection zoomodel_main.py提供的当前 ssd_mobilenet_v2_coco 模型。我也尝试过使用 legacy和 tensorflow 1.14.0。train.py

当需要将其转换为 tfjs 时,我同时使用了 tensorflowjs 1.2.2.1 和 0.8.6,在尝试在 web 上运行最终结果时都会导致相同的错误。

在使用 0.8.6 进行转换之前,我还尝试在冻结模型上执行中间图转换。

训练模型:

导出推理图:

使用 tfjs 1.2.2.1 进行转换:

在浏览器中测试模型:

中间变换:

我希望最终的网络模型能够提供来自测试阵列的检测结果。但是,当执行 javascript 代码时,tensorflowjs 会返回以下错误:

然后尝试在 TransformGraph 中应用 fold_old_batch_norms 会产生此错误:

0 投票
1 回答
567 浏览

python-3.x - 无法使用 Tensorflowjs 在浏览器中加载保存的模型

我正在尝试在边缘设备上使用迁移学习构建一个水稻分类器,我在https://github.com/ADLsourceCode/TensorflowJS获得了教程的帮助

我的示例数据位于https://www.dropbox.com/s/esirpr6q1lsdsms/ricetransfer1.zip?dl=0

我使用下面提到的用于大米分类的代码在本地保存了模型,并与 vgg 和 mobilenet 一起保存在文件夹 TensorflowJS/Mobilenet_VGG16_Keras_To_TensorflowJS/static/ 中,但是我无法在浏览器中的 tensorflowjs 上加载大米模型。

如果我尝试在本地系统中保存 vgg 模型并将模型加载到 tensoflowjs(在浏览器中)中,它运行良好。

我想,大米模型有一些错误,我该如何解决这个问题?

预期的输出是使用 tensorflowjs 在浏览器上运行大米分类

0 投票
2 回答
876 浏览

python - 未捕获(承诺中)错误:检查时出错:预期 flatten_1_input 的形状为 [null,7,7,512] 但得到的数组的形状为 [1,224,224,3]

我正在使用迁移学习的概念对我的图像进行分类,我已经重用了https://towardsdatascience.com/transfer-learning-from-pre-trained-models-f2393f124751中提到的代码

该模型适用于我的 jupyter 笔记本中的数据(https://www.dropbox.com/s/esirpr6q1lsdsms/ricetransfer1.zip?dl=0),但在测试模型之前,我正在重塑图像。

但是当我想使用 TensorFlow 在浏览器中运行相同的模型时,我使用了 tfjs.converters.save_keras_model 来保存我的模型。

TensorFlowjs 代码是

在 tensorflowjs 中加载模型后浏览器出现错误消息,我收到以下错误(我可以在 Web 开发控制台中看到错误消息)

未捕获(承诺中)错误:检查时出错:预期 flatten_1_input 的形状为 [null,7,7,512] 但得到的数组的形状为 [1,224,224,3]

有什么办法可以解决这个问题,我可以在加载到浏览器之前重塑图像吗?

我尝试了所有可能的选择,但我现在卡住了。

我已经在 stackoverflow 上检查了可能的解决方案。如何在浏览器上运行分类模型?