多层网络
简单和序列网络配置。
为什么用多层网络?
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?