@Override public Adam clone() { return new Adam(learningRate, learningRateSchedule, beta1, beta2, epsilon); }
public static ComputationGraphConfiguration getConf() { ComputationGraphConfiguration.GraphBuilder builder = new NeuralNetConfiguration.Builder() .seed(12345) .updater(new Adam(0.01)) .weightInit(WeightInit.RELU) .graphBuilder() .addInputs("in"); String[] poolNames = new String[ngramFilters.length]; int i = 0; for (int ngram : ngramFilters) { String filterName = String.format("ngram%d", ngram); poolNames[i] = String.format("pool%d", ngram); builder = builder.addLayer(filterName, new Convolution1DLayer.Builder() .nOut(numFilters) .kernelSize(ngram) .activation(Activation.RELU) .build(), "in") .addLayer(poolNames[i], new GlobalPoolingLayer.Builder(PoolingType.MAX).build(), filterName); i++; } return builder.addVertex("concat", new MergeVertex(), poolNames) .addLayer("predict", new DenseLayer.Builder().nOut(numClasses).dropOut(dropoutRetain) .activation(Activation.SOFTMAX).build(), "concat") .addLayer("loss", new LossLayer.Builder(LossFunctions.LossFunction.MCXENT).build(), "predict") .setOutputs("loss") .setInputTypes(InputType.recurrent(W2V_VECTOR_SIZE, 1000)) .build(); } }
@Override public void initializeBackend() { backend = new org.nd4j.linalg.learning.config.Adam(); }
@Override public Adam clone() { return new Adam(learningRate, beta1, beta2, epsilon); }
private AdamUpdater createADAMUpdater() { AdamUpdater adamUpdater = new AdamUpdater(new Adam(LEARNING_RATE, BETA_MOMENTUM, BETA2_MOMENTUM, EPSILON)); adamUpdater.setStateViewArray(Nd4j.zeros(1, 2 * CHANNELS * WIDTH * HEIGHT), new long[]{1, CHANNELS, HEIGHT, WIDTH}, 'c', true); return adamUpdater; }
public IUpdater getIUpdaterWithDefaultConfig() { switch (this) { case SGD: return new Sgd(); case ADAM: return new Adam(); case ADAMAX: return new AdaMax(); case ADADELTA: return new AdaDelta(); case NESTEROVS: return new Nesterovs(); case NADAM: return new Nadam(); case ADAGRAD: return new AdaGrad(); case RMSPROP: return new RmsProp(); case NONE: return new NoOp(); case CUSTOM: default: throw new UnsupportedOperationException("Unknown or not supported updater: " + this); } } }
.iterations(iterations).activation(Activation.IDENTITY) .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT) .updater(new Adam(0.1, 0.9, 0.999, 0.01)).weightInit(WeightInit.RELU).regularization(true) .l2(5e-5).learningRate(0.1).miniBatch(true).convolutionMode(ConvolutionMode.Same) .graphBuilder();