如何从 tensorflow.js 下载模型和权重

Bor*_*ris 7 javascript machine-learning tensorflow tensorflow.js

我正在尝试下载一个包含权重的预训练的 tensorflow.js 模型,以在 tensorflow 标准版本的 python 中离线使用,作为一个无论如何都不处于早期阶段的项目的一部分,因此切换到 tensorflow.js 是不是一种可能性。但我无法弄清楚如何下载这些模型,以及是否有必要对模型进行一些转换。

我知道在 javascript 中我可以访问模型并通过像这样调用它们来使用它们,但是如果是这种情况,我如何实际获取 .ckpt 文件或模型?

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.13.3"></script>

<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/posenet@0.2.3"></script>
Run Code Online (Sandbox Code Playgroud)

我的最终目标是获得冻结的模型文件,并获得像在 tensorflow 的正常版本中所做的那样的输出。此外,这将用于离线环境,因此任何在线参考都没有用。

感谢您的回复

edk*_*ked 3

可以通过调用save模型的方法来保存模型拓扑及其权重。

const model = tf.sequential();
model.add(tf.layers.dense(
     {units: 1, inputShape: [10], activation: 'sigmoid'}));
const saveResult = await model.save('downloads://mymodel');
// This will trigger downloading of two files:
//   'mymodel.json' and 'mymodel.weights.bin'.
console.log(saveResult);
Run Code Online (Sandbox Code Playgroud)

根据保存模型及其权重的位置(localStorage、IndexDB,...),有不同的方案字符串。文档

  • 我想知道您是否正在寻找要下载的权重文件的网址。以下是一种posenet架构的manifest.json:https://storage.googleapis.com/tfjs-models/weights/posenet/mobilenet_v1_100/manifest.json。如果您想设置自己的服务器,这里有一种加载文件的方法:https://github.com/oveddan/posenet-for-installations/。但是,我无法判断该项目的许可证是否允许在本地托管这些文件 (3认同)