Javascript 为什么我的神经网络训练方法没有被调用?(ML5.JS)

Javascript 为什么我的神经网络训练方法没有被调用?(ML5.JS),javascript,tensorflow,machine-learning,neural-network,tensorflow.js,Javascript,Tensorflow,Machine Learning,Neural Network,Tensorflow.js,我正在尝试使用ml5js创建一个涂鸦识别神经网络。 用来训练我的神经网络 这是我第一次尝试做任何机器学习的事情,所以我是这方面的高手 本质上,我希望用户在画布上绘制/绘制一些东西,按下猜测按钮,然后神经网络猜测他们绘制了什么。例如,他们画一辆自行车,按guess,然后神经网络猜测图片是一辆自行车 首先,我从谷歌的数据集中下载了 具体来说,我想: 加载我的大量cat图纸。这些文件来自本地.ndjson文件 我在调试时发现的问题是,WhiletTraining从不做任何事情。。。它不会在控制台上打印

我正在尝试使用ml5js创建一个涂鸦识别神经网络。 用来训练我的神经网络

这是我第一次尝试做任何机器学习的事情,所以我是这方面的高手

本质上,我希望用户在画布上绘制/绘制一些东西,按下猜测按钮,然后神经网络猜测他们绘制了什么。例如,他们画一辆自行车,按guess,然后神经网络猜测图片是一辆自行车

首先,我从谷歌的数据集中下载了

具体来说,我想:

加载我的大量cat图纸。这些文件来自本地.ndjson文件 我在调试时发现的问题是,WhiletTraining从不做任何事情。。。它不会在控制台上打印任何东西,我认为这会导致我的神经网络无法训练

这导致我得到错误信息:

…当我在第3步要求神经网络对我的测试涂鸦进行分类时


我正在寻找一些关于如何正确训练我的神经网络的帮助。我发现在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