javascript - Uncaught (in promise) TypeError: t is not a function
问题描述
当我将 Image 添加到我的分类器进行训练时,它会引发一些异常。我们使用的是 ml5.js 的 Mobilenet 模型,当我们调用 train() 方法时。
let features = ml5.featureExtractor('MobileNet');
const classifier = features.classification();
console.log("setup classifier DONE", classifier);
var img2;
console.log("adding images");
const gorra = new Image();
gorra.src = "https://ml5js.org/docs/assets/img/bird.jpg";
gorra.width = 224;
gorra.height = 224;
console.log("adding images DONE", gorra);
img2 = new Image();
img2.src = "{!$Resource.cat}"
img2.width = 224;
img2.height = 224;
console.log(img2);
var img3;
img3 = new Image();
img3.src = "{!$Resource.car}"
img3.width = 224;
img3.height = 224;
console.log(img3);
console.log("setup classifier");
var img4;
img4 = new Image();
img4.src = "{!$Resource.car1}"
img4.width = 224;
img4.height = 224;
console.log(img4);
console.log("setup classifier");
console.log("adding example image...");
const ex = classifier.addImage(document.getElementById('imgshow'), "Gorra");
console.log("adding ex image DONE!...", ex);
const ex1 = classifier.addImage(img2, "Gorra");
console.log("adding ex1 image DONE!...", ex1);
const ex2 = classifier.addImage(img3, "car");
console.log("adding ex1 image DONE!...", ex2);
const ex3 = classifier.addImage(img4, "car");
console.log("adding ex1 image DONE!...", ex3);
console.log('claasifier'+classifier);
console.log("Training");
// const trainer ;
setTimeout(function(){ const trainer = classifier.train(); console.log("Training DONE", trainer);}, 30000);
每当 train() 运行时添加图像后,它会抛出此错误 enter image description here 引用 Mobilnet.js 库,我突出显示了导致该错误的行 enter image description here
请让我知道,我们该如何解决这个问题。
解决方案
您需要为该.train()
函数提供回调。
从ml5js.train()
的文档中,函数的回调不是可选的。
您可以替换您的火车声明
const trainer = classifier.train();
使用下面的代码。
const trainer = classifier.train(function(lossValue) {
console.log('Loss is', lossValue)
});
这应该可以解决问题。
推荐阅读
- ssl - SSL 配置,然后使用 httpd、modjk 和 openAM Fedlet 请求重定向到 JBOSS 以进行单点登录
- javascript - 您可能需要一个额外的加载器来处理这些加载器在 NUXT 应用程序和 HEROKU 平台中的结果
- javascript - 有没有办法在 weblogic 服务器或 locahost 的域级别设置响应头“X-Content-Type-Options”、“nosniff”?
- php - 拉取 json 类别名称
- amazon-web-services - AWS:使用 lambda 和 s3 测试 ALB
- c# - INotifyPropertyChanged 不适用于 ObservableCollection 中的类
- arrays - Excel函数用于过滤发生阶跃变化的数组
- git - 如何在“git push --set-upstream origin master”之后恢复代码
- mysql - 如何显示隐藏的字符
- oracle - 提高 Jira Oracle 查询性能