是否可以在简单的 html 页面中使用 wamp 加载 TensorFlow 模型

Is it possible to load TensorFlow model using wamp in a simple html page

我正在尝试将已经训练好的模型加载到网络浏览器中以供进一步使用,但我卡在了加载步骤

我正在使用 WAMP 而不是使用节点,因为该项目非常小,并不意味着任何严肃的事情。

我的问题是,是否可以将模块 w/o 加载到节点?

我已经为迷你项目设置了 WAMP 和文件夹结构:

.../www/TestProject/
- index.html
- model/
   - model.json
   - group1-shard1of1.bin

在 index.html 文件中,我尝试了以下方法来加载模型 - tf.loadLayersModel('http://...') - tf.loadLayersModel('localstorage://...') - tf.loadLayersModel('model/model.json')

我收到错误消息:

index.html:13 Uncaught (in promise) TypeError: Failed to fetch

Uncaught (in promise) TypeError: Failed to fetch

这是我当前的脚本:

<script>
    async function model(){
        const model = await tf.loadLayersModel('http://model/model.json');
    }
    model();
</script>

可以加载模型,因为 wamp 将加载所有静态资产。

然而,通过更改权重文件的名称,无法加载它,因为它在拓扑文件中被引用 model.json。文件名需要保持生成时的原样,或者在model.json.

中更改相应的名称

是的,TensorFlow.js 可以在 Node.js 或 Web 浏览器的客户端中工作,如您所愿。在那种情况下,只要您托管 HTML、CSS、JS 和模型文件以便可以访问它们,那么它就可以正常工作。但是,您似乎已将文件名更改为 modelbin.bin 而不是 model.bin。我的猜测是您在 Windows 上并且关闭了文件扩展名,所以看起来您的名称不正确但实际上它在那里但被隐藏了。我建议确保关闭 Windows 中的默认扩展隐藏行为,以防止将来出现这种情况。只需转到 Windows 控制面板(开始 -> 控制面板),然后搜索 "Folder Options"。单击打开新 window 的搜索结果,然后单击 "view" 选项卡。在那个大选项列表中取消选中 "Hide extensions for known file types",您现在应该可以看到计算机上文件的完整名称。将文件重命名为 model.bin 然后它应该正确加载。