人工智能的计算量非常大,如果放在后端计算,需要的成本是巨大的,所以,应该尽可能的让模型在前端执行。
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 |