java - DeepLearning4j - errormessage in neural network configuration - Stack Overflow

I would like to implement a simple neural network with DeepLearning4J in Java.I took the programme cod

I would like to implement a simple neural network with DeepLearning4J in Java. I took the programme code from a website.

The compiler generates the following error message at the marked position in my code: Mehtod list in class Builder cannot be applied to the specified types. Can anyone tell me why I am getting this error message?

package com.mycompany.testnn;

import .deeplearning4j.eval.Evaluation;
import .deeplearning4j.nn.WeightInit;
import .deeplearning4j.nn.conf.MultiLayerConfiguration;
import .deeplearning4j.nn.conf.NeuralNetConfiguration;
import .deeplearning4j.nn.conf.layers.DenseLayer;
import .deeplearning4j.nn.conf.layers.OutputLayer;
import .deeplearning4j.nn.multilayer.MultiLayerNetwork;
import .nd4j.linalg.activations.Activation;
import .nd4j.linalg.api.ndarray.INDArray;
import .nd4j.linalg.dataset.DataSet;
import .nd4j.linalg.factory.Nd4j;
import .nd4j.linalg.lossfunctions.LossFunctions;


public class TestNN
{

    public static void main(String[] args)
    {
        INDArray                input       = Nd4j.zeros(4, 2);
        INDArray                knownOutput = Nd4j.zeros(4, 1);
        DataSet                 dataSet;
        MultiLayerConfiguration cfg;

        //----- loading data -----
        input.putScalar(new int[]{0, 0}, 0);
        input.putScalar(new int[]{0, 1}, 0);
        input.putScalar(new int[]{1, 0}, 0);
        input.putScalar(new int[]{1, 1}, 1);
        input.putScalar(new int[]{2, 0}, 1);
        input.putScalar(new int[]{2, 1}, 0);
        input.putScalar(new int[]{3, 0}, 1);
        input.putScalar(new int[]{3, 1}, 1);

        knownOutput.putScalar(new int[]{0}, 0);
        knownOutput.putScalar(new int[]{1}, 1);
        knownOutput.putScalar(new int[]{2}, 1);
        knownOutput.putScalar(new int[]{3}, 0);

        dataSet = new DataSet(input, knownOutput);

        //------ setup a model
        cfg = new NeuralNetConfiguration.Builder()
                .weightInit(WeightInit.DISTRIBUTION)
---->           .list()
                .layer(0,new DenseLayer.Builder()
                        .activation(Activation.SIGMOID)
                        .nIn(2)
                        .nOut(3)
                        .build())
                .layer(1,new OutputLayer.Builder(LossFunctions.LossFunction.MSE)
                        .activation(Activation.SIGMOID)
                        .nIn(3)
                        .nOut(1)
                        .build())
                .build();

        MultiLayerNetwork network = new MultiLayerNetwork(cfg);
        network.init();
        network.setLearningRate(0.7);

        System.out.println(network.summary());

        //----- training the Model -----
        for( int i=0; i < 10000; i++ )
        {
            network.fit(dataSet);
        }

        //----- testing the Model -----
        INDArray output = network.output(input);
        Evaluation eval = new Evaluation();
        eval.eval(knownOutput, output);System.out.println(eval.stats());
    }
}

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744965573a4603659.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信