javascript - 无法为 face-api.js 加载模型
问题描述
我不明白如何加载“模型”,以便我的 React Web 应用程序的客户端可以开始分析图像。我什至不明白什么是“模型”。
我开始做npm i face-api.js
.
import * as faceapi from 'face-api.js'
然后,我通过在顶部键入将其导入到我的 SignUp 组件中。
在我的componentDidMount()
函数中,我输入了以下代码:
faceapi.nets.ssdMobilenetv1.loadFromUri('/models').then(result => {
console.log(result);
}).catch(error => {
console.log(error)
})
这给了我以下错误: SyntaxError:“JSON.parse:JSON 数据的第 1 行第 1 列的意外字符”
所以我尝试在 face-api.js 目录中寻找“models”目录,但什么也找不到。然后我回到 Github,找到了一个“weights”文件夹(我读到的都是与模型相关的)。我下载了它,并将它的内容放在我的注册组件附近的“模型”文件夹中(见附图)。还是同样的错误。
最终,我想做的就是知道用户是否上传了一张包含人脸的图片。随便一张脸。我不需要更多的东西。我究竟做错了什么?
解决方案
对于我使用 VueJs 的示例,我在 public / dist 目录中添加了模型,并按照 github 示例的说明进行操作。
Promise.all([
faceapi.nets.faceRecognitionNet.loadFromUri('/models'),
faceapi.nets.ssdMobilenetv1.loadFromUri('/models'), faceapi.nets.faceLandmark68Net.loadFromUri('/models'),
])
.then(async () => {//some code goes here})
推荐阅读
- cloud-foundry - cloudfoundry buildpack 和编译器有什么区别?
- sql - 使用 SQL Server 插入具有自动增量的嵌套实体
- javascript - 如何在数组 javascript 中添加带有 id 的新密钥?
- ubuntu - 我在尝试从 WSL 打开 Atom 时出错,直到昨天它运行良好
- ios - 为什么我的 iOS 应用程序中的一个函数会被调用两次?
- javascript - 将 mouseenter 事件更改为定时事件
- augmented-reality - 为什么 ARCore Supported device Limited?
- javascript - 如何在自动上设置文本区域高度
- python - sys.stdout.write 和 sys.stdout.flush 留下字符
- hibernate - 在 java 中,我在获取 List 时得到 ClassCastExceptin
因为返回非托管实体