问题标签 [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.
javascript - 错误“在没有配置数组的情况下调用 Sequential.fromConfig”
我正在使用 tensorflow js 按照本指南从 keras 加载模型 但是在这行代码中
我收到错误
我能做些什么来解决它。此错误的可能原因是什么?谢谢您的帮助 。
注意:我在我的服务器中启用了 cors,所以我认为这与我的服务器无关。我正在使用本地主机(不是指南中提到的)也如我使用的文档中所述
tfjs.keras.converters.save_keras_model()
javascript - 相同模型和张量上 tensorflowjs 和 keras 的不同结果
我按照https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html的示例在一些图像上训练了一个 CNN 模型。我的模型代码是相同的,我只是在另一个图像数据集上对其进行了训练:也用于两个类之间的分类。
结果是您在训练集上所期望的:图像被正确分类为 0 或 1。
我按照 https://js.tensorflow.org/tutorials/import-keras.html 的“替代方案:使用 Python API 直接导出到 TF.js 层格式”部分以 tensorflowjs 友好格式保存了 模型
但是,当我尝试使用 javascript 访问 html 页面中的结果时,几乎每个图像(或接近它)都会得到 1:即使图像在 Keras 中给出 0。
我什至将图像保存为 JSON 中的张量,在 Keras 中得到 0,在 TensorflowJS 中得到 1。这是一个错误还是我在某个地方犯了错误?
这是我在 TensorflowJS 中访问 json 的代码:
这是我的python代码:
对于完全相同的数据和相同的模型,我得到了 PREDICTION JS 1 和 PREDICTION PYTHON 0.0:有人在我的代码中看到任何问题吗?
EDIT1:我在 Xubuntu 18.04.1 LTS 上并使用以下软件版本:
EDIT2:我打开了以下问题https://github.com/tensorflow/tfjs/issues/776并已修复。
tensorflow.js - 加载 saved_model 导致聚集操作的“编译片段着色器失败”
我在 Python 中使用 Tensorflow 来定义和训练模型,然后将其保存到 saved_model 并使用 TensorflowJS 将其加载到网站上。我做了一个下面介绍的最小工作示例,并将问题隔离到收集操作。我正在使用 Windows 7 x64、Python 3.5.2、numpy 1.15.1(强制安装 tensorflowjs - 之前有 15.2)和最新版本的 tensorflowjs 使用简单安装pip install tensorflowjs
。浏览器是 Chrome,它都使用 Wamp 在 localhost 上提供。
第 1 步:Python
第 2 步:tfjs-converter 命令
第三步:服务网站:
产生的错误是:
在控制台之上还有:
所以缺少 getIndices ,它没有在导入的 tfjs 脚本中声明,只调用...
任何帮助深表感谢!
tensorflow - 在具有更多元素的矩阵上调用正交初始化器:可能会导致缓慢
tensorflowjs 版本:0.11.7 Keras
版本:2.0.4
我正在尝试在浏览器上运行 Keras 转换模型。对于转换,我使用了 tensorflowjs 转换器,转换很顺利。但是,在加载时,
在具有超过 2000 (2560000) 个元素的矩阵上调用正交初始化器:可能会导致缓慢。
弹出此消息并发生内存爆炸,最后浏览器停止工作。以下是我的 keras 模型架构: 当我们运行 tensorflowjs 代码来加载上述模型时,会弹出以下警告:
有没有一种方法可以加快正交初始化过程,从而在更短的时间内以更少的努力加载模型?任何帮助将不胜感激。
javascript - 无法加载 tensorflow JS 模型
我已经将 keras 模型转换为 tensorflowjs 模型。但是当我试图在浏览器中加载相同的内容时,它会给出错误提示
未捕获(承诺中)错误:提供的权重数据没有目标变量:block1_conv1_1/kernel。
我在 keras 的 vgg16 模型上使用了迁移学习。
javascript - TensorFlow Estimator 到 TensorFlow JS
在 Stack Overflow 社区的帮助下,我开始了解 TensorFlow 的“高级”API 的复杂性,Estimator
. 我,也许是愚蠢地认为,如果 TensorFlow 和 TensorFlow JS 相处融洽,很可能是通过Estimator
API...
所以在这个Colab中,我有一个简单的自定义Estimator
,它被简单地连接起来,以便像.train_and_evaluate
工作这样的方法,并且在“训练”之后Estimator
通过export_savedmodel
.
现在,假设我想继续通过 TensorFlow js 在浏览器中使用这个经过训练的模型。
幸运的是,有一个关于如何为 TensorFlow JS转换 a 的指南:saved_model
虽然论点有描述......
--output_node_names
输出节点的名称,以逗号分隔。--saved_model_tags
仅适用于 SavedModel 转换,要加载的 MetaGraphDef 的标签,以逗号分隔的格式。默认服务。--signature_name
仅适用于 TensorFlow Hub 模块转换,签名加载。默认为默认值。请参阅https://www.tensorflow.org/hub/common_signatures/。
对于Colab中的演示估算器,我不确定应该用什么替换这些。
为什么?对于初学者来说,best_model
使用 的导出器serving_input_receiver_fn
在通过加载时具有不同的输出
比从
即前者输出的预测特征特征的关键是后者的“输出”和“标签”。
哪个,原谅我的小咆哮,为什么没有Estimator
办法加载导出的模型?
所以:
我的“
output_node_names
”是什么?因为这是一个 SavedModel,
tags
我需要什么?
我将不胜感激任何指导。
tensorflow - tensorflowjs_converter:SavedModel 文件不存在于:
我按照此处的说明将使用 Python 生成的 Tensorflow 模型导入到 Tensorflow.js 中。
该模型是使用tf.estimator
API创建的,该 API 会根据此页面自动保存模型文件。
使用 pip安装后tensorflowjs
,运行转换脚本时出现以下错误:
以下是模型文件夹中的文件:
javascript - 需要找出哪些输出节点名称需要传递给 Tensorflowjs 转换器
我是 Tensorflow 的新手,我开发了一个模型,它使用 Tensorflow、OpenCV 检测一种特殊类型的卡片,我能够在离线模式下使用我的网络摄像头正确检测到卡片,但我想将它迁移到网络(tensorflowjs ) 但我在转换方面面临一些问题。
我有检查点、元数据文件以及冻结的推理图 pb 文件
我使用以下代码生成了节点名称列表
这是使用 tensorflow import_meta_graph()的输出文件 输出节点名称
我关心的是我应该在下面的命令中传递什么输出节点名称
我想在客户端使用真实的网络摄像头运行我现有的模型,任何解决方案和建议将不胜感激
设置细节:
张量流 1.12.0
使用 Anaconda 的 Python 3.5。
typescript - 为什么来自 tensorflowjs 的 model.predict() 总是返回相同的预测?
我正在 ionic 3 框架中制作一个用于识别手写字符的应用程序,为此,我正在使用 tensorflowjs。问题是当一切都解决后,预测总是返回相同的值。
模型(使用 tensorflowjs-converter 从 keras 转换而来)本地存储在assets/models/model.json
.
我试图预测的图像是从 HTMLCanvasElement 中提取的,您可以在其中绘制字符,然后函数getCanvas()
从中检索 ImageData:
[1, 32, 32, 3]
然后,计算模型的输入张量,data
然后,我将其输入到模型中evaluateModel()
。在该函数中,我加载model.json
withtf.loadModel()
并尝试预测图像的类别:
一切正常,没有任何错误,但是当将输出预测记录到控制台时,它总是返回相同的值。此外,预测数组非常平坦,指出 python 中的模型在测试中达到 99,01% 的准确率:
尝试解决此问题时,我想到的唯一两件事是:
- ImageData 未正确提取画布绘图,因此预测始终返回相同的值。
- 上的权重
model.json
没有被访问或加载,因此模型返回相同的值。
有任何想法吗?
任何帮助表示赞赏。
typescript - 如何使用 tf.loadModel 从 Firebase 存储加载模型?
我正在 ionic3 框架中开发一个用于识别绘制字符的应用程序,但我在导入模型时遇到了问题。tensorflowjs_converter
我以两种不同的方式将模型从 Keras(转换为)导入到我的 ionic3 应用程序中:
- 和
model.json
权重文件(分片)放置在文件夹/assets/models
中。 - 和
model.json
权重文件(分片)托管在 Firebase 存储中。
使用第一种方法在浏览器中启动应用程序时,模型和权重已正确加载,并且我能够预测类。但是当启动应用程序时,使用相同的方法进入我的 Android 设备ionic cordova run android --device
,模型似乎没有从权重文件中检索数据,因为它给出了以下错误:
Based on the provided shape, [3, 3, 32, 64], the tensor should have 18432 values but has 917
.
现在,我尝试将文件托管在 Firebase 存储中以尝试解决此问题。我从存储中检索,但在浏览器和设备中model.json
仍然得到与上述相同的错误。
根据在应用程序中本地存储碎片和模型的经验,我得出的结论是,无论哪种方式,设备都无法识别碎片。
此外,当在 device 中使用 firebase 存储方法时,当尝试从 url 获取模型时,我发现以下错误:Failed to fetch
.
这是检索分片和模型的代码:
modelURL
并shards
包含来自 firebase 存储的下载 url。模型和分片保持在同一级别:
因此,我将模型的下载 url 传递到tf.loadModel
:
那么,有什么方法可以将碎片传递到tf.loadModel()
,从 firebase 存储中获取,以便在我的设备和浏览器中检索从模型中预测所需的所有数据?
谢谢您的帮助。