I have model with 2 outputs. One output is for classification problem - gender classification and other output is for age regression. I cant run RegressionEvaluation and Evaluation in same time.
EvaluativeListener(@NonNull MultiDataSetIterator iterator, int frequency, @NonNull InvocationType type,
IEvaluation… evaluations)
This listener receive array of IEvaluation, but if you add regression and classification evaluation it will break in runtime when it start evaluations…
ImageRecordReader imageRecordReaderAge = new ImageRecordReader(height, width, channels, labelMakerAge);
imageRecordReaderAge.initialize(dataAge, getImageTransform(isTraining));
ImageRecordReader imageRecordReaderGender = new ImageRecordReader(height, width, channels, labelMakerGender);
imageRecordReaderGender.initialize(dataGender, getImageTransform(isTraining));
MultiDataSetIterator iterator = new RecordReaderMultiDataSetIterator.Builder(batchSize)
.addReader("inputAge", imageRecordReaderAge)
.addReader("inputGender", imageRecordReaderGender)
.addInput("inputAge", 0, 0)
.addInput("inputGender", 0, 0)
.addOutput("inputAge", 1, 1)
.addOutput("inputGender", 1, 1)
iterator.setPreProcessor(dataNormalization);
RegressionEvaluation regressionEvaluation = new RegressionEvaluation();
//Evaluation evaluation = new Evaluation(labels);
return new EvaluativeListener(dataSetIterator, frequency, type, regressionEvaluation);
Also EarlyStoppingConfiguration receive only one scoreCalculator and it must be DataSetLossCalculator.
Is posible to monitor both evaluations in same time?