多层网络

简单和序列网络配置。

为什么用多层网络?

MultiLayerNetwork类是Eclipse DL4J中可用的最简单的网络配置API。该类对于不需要复杂和分支的网络图的初学者或用户很有用。

如果你正在创建复杂的损失函数、使用图顶点或执行类似如三重网络的高级训练,则不希望使用MultiLayerNetwork配置。这包括流行的复杂网络,如InceptionV4。

用法

下面的例子展示了如何使用DenseLayer(一个基本的多感知器层)来构建一个简单的线性分类器。

MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
    .seed(seed)
    .iterations(1)
    .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)
    .learningRate(learningRate)
    .updater(Updater.NESTEROVS).momentum(0.9)
    .list()
    .layer(0, new DenseLayer.Builder().nIn(numInputs).nOut(numHiddenNodes)
            .weightInit(WeightInit.XAVIER)
            .activation("relu")
            .build())
    .layer(1, new OutputLayer.Builder(LossFunction.NEGATIVELOGLIKELIHOOD)
            .weightInit(WeightInit.XAVIER)
            .activation("softmax").weightInit(WeightInit.XAVIER)
            .nIn(numHiddenNodes).nOut(numOutputs).build())
    .pretrain(false).backprop(true).build();

还可以创建卷积配置:

Last updated

Was this helpful?