Deeplearning4j повторные вызовы методов - PullRequest
0 голосов
/ 15 мая 2018

Во многих (или большинстве) примеров Deeplearning4j, которые я видел, при построении конфигурации вызовы методов, кажется, добавляются к вызовам методов. , .

Например:

 MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
            .seed(rngSeed) //include a random seed for reproducibility
            // use stochastic gradient descent as an optimization algorithm
            .updater(new Nesterovs(0.006, 0.9))
            .l2(1e-4)
            .list()
            .layer(0, new DenseLayer.Builder() //create the first, input layer with xavier initialization
                    .nIn(numRows * numColumns)
                    .nOut(1000)
                    .activation(Activation.RELU)
                    .weightInit(WeightInit.XAVIER)
                    .build())
            .layer(1, new OutputLayer.Builder(LossFunction.NEGATIVELOGLIKELIHOOD) //create hidden layer
                    .nIn(1000)
                    .nOut(outputNum)
                    .activation(Activation.SOFTMAX)
                    .weightInit(WeightInit.XAVIER)
                    .build())
            .pretrain(false).backprop(true) //use backpropagation to adjust weights

.build ();

Иногда я вижу примеры, когда переменная conf создается в одном операторе, а затем каждая из других операций создается в отдельных инструкциях. Есть ли какая-либо выгода в том, чтобы сделать это первым способом? Также может показаться, что второй подход более удобен для работы с Jshell.

1 Ответ

0 голосов
/ 15 мая 2018

Вам решать на самом деле.Для некоторых людей синтаксис строителя (это Java-люди, помните, что перед тем как комментировать) - многословен, и обертывание облегчает его.Если вы можете сделать предположения, относящиеся к конкретному случаю, то метод имеет больше смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...