Вхождения не могут быть отрицательной ошибкой
Черт, я использую простую регрессию. Моя конфигурация сети, как показано ниже
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
.seed(seed)
.iterations(1)
.optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)
.learningRate(learningRate)
.updater(Updater.NESTEROVS)
.weightInit(WeightInit.XAVIER)
.list()
.layer(0, new DenseLayer.Builder().nIn(numInputs).nOut(numHiddenNodes)
.activation(Activation.RELU)
.build())
.layer(1, new DenseLayer.Builder().nIn(numHiddenNodes).nOut(numHiddenNodes)
.activation(Activation.RELU)
.build())
.layer(2, new OutputLayer.Builder(LossFunctions.LossFunction.MSE)
.activation(Activation.RELU)
.nIn(numHiddenNodes).nOut(numOutputs).build())
.pretrain(false).backprop(true).build();
Я получаю следующую ошибку
Исключение в потоке "main" java.lang.IllegalArgumentException: вхождения не могут быть отрицательными: -992 на com.google.common.base.Preconditions.checkArgument(Preconditions.java:145) на com.google.common.collect.AbstractMapBasedMultiset.add(AbstractMapBasedMultiset.java:218) на com.google.common.collect.HashMultiset.add(HashMultiset.java:34).
Это практический кодекс. Я получаю эту ошибку, когда пытаюсь оценить модель. Само обучение модели проходит нормально, но не дает оценки. Любая идея.
1 ответ
Я не норализовал метки ранее preProcessor.fitLabel(true) в моем препроцессоре, чтобы нормализовать метки, а также входные данные.