我试着用ml5js创建一个涂鸦识别神经网络。用谷歌的快速绘制数据集训练我的神经网络。
这是我做任何机器学习的第一次尝试,所以我是这方面的一个noobie。
本质上,我希望用户在画布上画/画一些东西,按下猜测按钮,神经网络猜测他们画的东西。例如,他们画自行车,按猜测__,神经网络猜测图片是自行车。
首先,我从谷歌的数据集下载了猫涂鸦的数据。
具体来说,我想:
let unformattedFile;
let jsonFormattedFile = {
"data": [
]
};
for (let i = 0; i < 1000; i++) { //hard code 1000
jsonFormattedFile["data"].push(
{ "xs": { "drawing": unformattedFile[i].drawing }, "ys": { "word": unformattedFile[i].word } }
)
}neuralNetwork = ml5.neuralNetwork(options);
//Start to add Data to the NN
for (let x = 0; x < jsonFormattedFile.data.length; x++) {
let inputs = {
xs: jsonFormattedFile.data[x].xs
}
let target = {
ys: jsonFormattedFile.data[x].ys
}
neuralNetwork.data.addData(inputs, target);
}
neuralNetwork.data.normalize();
function whileTraining(epoch, loss) {
console.log(`epoch: ${epoch}, loss:${loss}`);
}
function doneTraining() {
makeClassification();
}
neuralNetwork.train(whileTraining, doneTraining); newTest = jsonFormattedFile.data[0].xs;
neuralNetwork.classify([newTest], (err, results) => {
console.log(results);
if (err) {
console.error(err)
}
});我在调试时发现的问题是,whileTraining()从来不做任何事情.它不会把任何东西打印到控制台上,我认为这会导致我的神经网络不训练。
这使我得到了错误:..。
TypeError: Cannot read property 'predict' of null...When,我要求神经网络在第三步对我的测试涂鸦进行分类。
我在寻求一些关于如何正确训练我的神经网络的帮助。我发现很难从ML开始:
发布于 2020-03-21 23:44:01
我检查了ML5回购,发现当您为debug: true选项设置debug: true时,永远不会调用NeuralNetwork。这很奇怪,但这就是为什么不调用whileTraining的原因。
https://stackoverflow.com/questions/60239039
复制相似问题