问题标签 [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.
tensorflow.js - 如何将 Niftynet 模型转换为 .pb 格式
我想在 tensorflowjs 中使用 Niftynet zoo 中的模型。
当我从 Niftynet zoo 下载模型时,它们是检查点格式 (ckpt)。但是,tensorflowjs 期望模型为 pb 格式。此外,检查点格式不包含图形信息,因此我们需要使用 simple_save 或类似的 API [1] 保存模型。
所以我打算做的是:
- 从 Niftynet 动物园下载模型
- 恢复它。(这一步我需要帮助)
- 使用 simple_save api 保存完整的模型。这将产生 .pb 模型。(这一步我需要帮助)
- 使用 tensorflowjs-converter [2] 将其转换为 tensorflowjs 可以使用的 pb 格式。
那么来自 niftynet 社区的人可以帮助我完成第 2 步和第 3 步:如何使用检查点文件和配置文件加载模型并使用 simple_save api 完全保存它。
javascript - webworkers 中的 tensorflow.js
我想通过 importScripts() 在 webWorker 中导入 2 个脚本,如下所示,但导入失败。如何处理?
javascript - tensorflowjs 加载重新训练的 coco-ssd 模型 - 在浏览器中不起作用
我使用 Python models/research/object-detection API 用我自己的数据集重新训练 coco-ssd。我已经保存了模型并且模型在 ipython 笔记本中工作。我用 tfjs_converter 来转换它
测试1;我的代码
google-chrome-extension - 将 HTMLImageElement 传递给 tf.fromPixels() 函数
我正在研究 chrome 扩展。任务是对网页上的图像进行分类。我已经建立了模型,在进行预测之前将图像转换为张量时经常出错。我正在使用document.getElementsByTagName('img')
. 这将返回一个对象。然后我tensor = tf.fromPixels(image[0])
用来获取张量。
它说 :
runtime.onMessage 的事件处理程序出错:错误:传递给 tf.fromPixels() 的像素必须是 HTMLVideoElement、HTMLImageElement、HTMLCanvasElement 或 ImageData,但在 pre_process() 处是对象
请帮忙。
编辑:我的代码是:
将其传递给后台脚本:
这是消息的后台脚本侦听器
lstm - 转换为 Tensorflowjs 的 Keras LSTM 单向和双向模型没有产生正确的推理
使用的 TensorFlow.js 版本
- 张量流 1.12.0
- 张量流基础 1.12.0
- 张量流GPU 1.12.0
- 张量流中心 0.2.0
- 张量流js 0.8.0
使用的浏览器版本
- Windows 10 上的 Firefox 65.0 (64-it)
- Windows 10 上的 Microsoft Edge 42.17134.1.0
问题描述
我在 Python 中创建并训练了一个基于 Keras 的 LSTM 双向模型来对视频进行分类。这个模型效果很好,并且以 90+ 的准确度对视频进行分类。但是当我使用 tensorflorjs_converter 工具将此模型转换为 tensoflorjs 模型并在浏览器上使用相同的模型时,该模型总是为任何视频输入抛出相同的输出(前 3 个结果) ——BasketballDunk;概率。0.860,平衡梁;概率。0.088,BodyWeightSquats;概率。0.024
我检查了 LSTM 双向模型的所有输入、它们的形状等,没有发现任何问题。但是无论视频输入如何,来自 LSTM 双向模型的推理仍然是相同的。我确保作为序列发送到 LSTM 模型的每个单独的视频帧都是正确的。(使用 MobileNet 模型识别每一帧,并且它正确,因此得出结论,发送到 LSTM 的帧是完美的)请帮助我识别问题并修复。所有必需的详细信息如下。
(整个模型基于陈先顺(chen0040)->[ https://github.com/chen0040/keras-video-classifier]在这个github存储库中给出的示例)
模型细节:
- 使用 MobileNet 模型提取特征
- 使用 LSTM 双向模型来提取提取的特征并将视频分类为 20 类之一
使用的数据集:
- UCF101 - 动作识别数据集 ( http://crcv.ucf.edu/data/UCF101.php )
Tensorflowjs 转换模型:
- tensorflowjs 转换的模型、示例视频和要测试的 html 文件都在这个驱动器位置作为 zip 文件:[ https://drive.google.com/open?id=1k_4xOPlTdbUJCBPFyT9zmdB3W5lYfuw0]
- 要测试模型,只需解压缩并使用“yarn”构建并使用“yearn watch”运行
- index.html 有测试说明
注意:我已经尝试过 LSTM 模型(单向),同样的问题也与转换后的模型有关。唯一的区别是它产生“台球”作为概率超过 0.95 的最高预测。
重现问题的代码: 代码和测试工件位于此驱动器位置的 zip 文件中 - [ https://drive.google.com/open?id=1k_4xOPlTdbUJCBPFyT9zmdB3W5lYfuw0]
tensorflow.js - tfjs 转换器 - 不支持 dtype string24
通过转换保存的模型,我被卡住了几天:
(张量流 0.8.0)
有人可以建议我在哪里/搜索什么以避免此错误吗?
tensorflow - Tensorflow.js 转换后的模型预测与冻结模型不同/不准确的结果
当我将冻结的 PB 模型转换为 tensorflow JS 模型时,我失去了所有预测的准确性。谁能告诉我为什么以及我做错了什么?
我做了以下事情 - 我用我自己的数据集重新训练了 ImageNet 模型,如下所述: https ://codelabs.developers.google.com/codelabs/tensorflow-for-poets/#0
当我运行以下命令时,我得到了冻结模型的准确结果,例如:
它给出的以下输出是正确的:
我已经使用带有以下命令的 tensorflow JS 转换器将我的冻结模型转换为 Tensorflow JS:
当我使用与冻结模型相同的图像对 tensorflow JS 模型进行预测时,我得到了可怕的结果:
加载模型:
预测结果:
输出:
python - Tensorflowjs 转换错误:“ValueError:不支持的操作”
我正在使用以下命令将tensorflow
模型转换为表单tensorflowjs
我遇到了以下神秘错误:
我的图表中确实有这些操作。我需要把它们换成更tensorflowjs
友好的东西吗?
我深入谷歌,只发现了对以下标志的引用,我可以添加到tensorflowjs
_converter 命令--skip_op_check=SKIP_OP_CHECK \
这确实编译了,但是在尝试为js
模型提供服务时,我遇到了类似于上面的 js 错误:
错误:不支持 Tensorflow Op:ResizeArea
任何想法如何修改我的图表或我的命令来导航这个?
谢谢
tensorflow.js - Tensorflowjs:loadFrozenModel 是否意味着我无法访问图层?
用于通过调用加载模型tf.loadModel('https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_0.25_128/model.json')
,但是,我需要更改 mobilinet 版本。
所以,我从 tensorflowhub 获取了我需要的版本,在 tensorflow_converter 上运行它,得到了两个文件(.pb 和权重文件)。然后我使用 tf.loadGraphModel 加载它。但是,model.getLayer 抛出:
model.getLayer 不是函数。
加载看起来像这样:
然后我将 mobilinet 模型保存为冻结模型,在 tensorflow_converter 上再次运行它,并尝试将其加载为 tf.loadFrozenModel。它返回了同样的东西。
我很困惑。
有没有办法从非 keras 模型中获取图层?
编辑:为澄清起见,我从 tensoflowhub 获取的模型是: https ://tfhub.dev/google/imagenet/mobilenet_v2_075_96/classification/2
tensorflow - Tensorflow.js 错误:未知层:GaussianNoise
我按照本指南中的步骤转换了一个预训练的 keras 模型以将其与 Tensorflow.js 一起使用
现在,当我尝试使用将其导入 javascript 时
const model = tf.loadModel("{% static "keras/model.json" %}");
出现以下错误:
我正在使用 0.15.3 版本的 Tensorflow.js,以这种方式导入:
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.15.3/dist/tf.min.js"></script>
我用 Tensorflow 1.12.0 和 Keras 2.2.4 训练了我的神经网络