Javascript 为什么我的神经网络训练方法没有被调用?(ML5.JS)
我正在尝试使用ml5js创建一个涂鸦识别神经网络。 用来训练我的神经网络 这是我第一次尝试做任何机器学习的事情,所以我是这方面的高手 本质上,我希望用户在画布上绘制/绘制一些东西,按下猜测按钮,然后神经网络猜测他们绘制了什么。例如,他们画一辆自行车,按guess,然后神经网络猜测图片是一辆自行车 首先,我从谷歌的数据集中下载了 具体来说,我想: 加载我的大量cat图纸。这些文件来自本地.ndjson文件 我在调试时发现的问题是,WhiletTraining从不做任何事情。。。它不会在控制台上打印任何东西,我认为这会导致我的神经网络无法训练 这导致我得到错误信息: …当我在第3步要求神经网络对我的测试涂鸦进行分类时Javascript 为什么我的神经网络训练方法没有被调用?(ML5.JS),javascript,tensorflow,machine-learning,neural-network,tensorflow.js,Javascript,Tensorflow,Machine Learning,Neural Network,Tensorflow.js,我正在尝试使用ml5js创建一个涂鸦识别神经网络。 用来训练我的神经网络 这是我第一次尝试做任何机器学习的事情,所以我是这方面的高手 本质上,我希望用户在画布上绘制/绘制一些东西,按下猜测按钮,然后神经网络猜测他们绘制了什么。例如,他们画一辆自行车,按guess,然后神经网络猜测图片是一辆自行车 首先,我从谷歌的数据集中下载了 具体来说,我想: 加载我的大量cat图纸。这些文件来自本地.ndjson文件 我在调试时发现的问题是,WhiletTraining从不做任何事情。。。它不会在控制台上打印
我正在寻找一些关于如何正确训练我的神经网络的帮助。我发现在ML中启动非常困难:我检查了ML5 repo,发现当您为您的NeuralNetwork选项设置debug:true时,将永远不会调用whileTraining。这很奇怪,但这就是为什么不调用WhiletTraining的原因。步骤3在makeClassification函数中吗?@Jacob是的,很抱歉我没有说清楚-步骤3中的代码是makeClassification函数。
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)
}
});
TypeError: Cannot read property 'predict' of null