我正在关注 ML5.js featureExtractor 的基本示例。我没有使用视频。加载模型后,我向它添加新图像,然后再次训练。我收到以下错误:
Mobilenet.js:323 Uncaught (in promise) 错误:批量大小为 0 或 NaN。请选择一个非零分数。在 t。(Mobilenet.js:323)
根据文档,我的代码似乎是正确的- 使用视频是可选的,所以我希望我应该能够在手动添加图像后重新训练模型。我使用了addImage
函数的回调,以确保在调用之前确实添加了图像train
let added = 0
let classifier
let featureExtractor = ml5.featureExtractor('MobileNet', modelLoaded)
function modelLoaded() {
classifier = featureExtractor.classification()
classifier.addImage(document.getElementById('person1'), 'nomask', addedImage)
classifier.addImage(document.getElementById('mask1'), 'mask', addedImage)
}
// this gets called twice, but then train goes wrong
function addedImage(){
added++
if(added == 2){
classifier.train((lossValue) => {
console.log('Loss is', lossValue);
})
}