人工智能的计算量非常大,如果放在后端计算,需要的成本是巨大的,所以,应该尽可能的让模型在前端执行。
tensorflow 有官方支持的 tensorflow.js ,但是, pytorch 没有。
所以,使用 tensorflow 构建的模型可以天然在前端运行。
有一个开源项目叫做 onnx.js 可以将 torch 还有 tensorflow 的模型转化为 onnx 格式,然后,使用 onnx.js 进行前端执行。
当然还有其他可能的方案,在这里贴一下「之所以不用,是因为,我尝试过,但是总会出现这样那样的问题」
- torch-js
- pytorchjs
- Running pytorch models in browser
- Tutorial - Converting a PyTorch model to TensorFlow.js
但是,由于生态混乱,onnx.js 在处理各种模型是总是出现这样那样的混乱,并且,其已经很长时间不更新了。但是,别无选择,这一章,就是使用 onnx.js 来运行 pytorch 模型。
本章使用的模式来自于
我们选用的是
face_paint_512_v2.pt
这个模型。
我们主要参考的开源项目是
转化 pytorch 模型到 onnx 格式
参考资料
上面的开源项目,转换 onnx 参考的是
但是这个太麻烦,我们直接参考
建议看原文档
1 | import torch |