private void init(AbstractModel model, DataOutputStream dos) { if (model.getModelType() == ModelType.Perceptron) { delegateWriter = new BinaryPerceptronModelWriter(model, dos); } else if (model.getModelType() == ModelType.Maxent) { delegateWriter = new BinaryGISModelWriter(model, dos); } else if (model.getModelType() == ModelType.MaxentQn) { delegateWriter = new BinaryQNModelWriter(model, dos); } if (model.getModelType() == ModelType.NaiveBayes) { delegateWriter = new BinaryNaiveBayesModelWriter(model, dos); } }
@Test public void testModelSerialization() throws IOException { TrainingParameters trainParams = new TrainingParameters(); trainParams.put(AbstractTrainer.ALGORITHM_PARAM, PerceptronTrainer.PERCEPTRON_VALUE); trainParams.put(AbstractTrainer.CUTOFF_PARAM, 1); trainParams.put("UseSkippedAveraging", true); EventTrainer trainer = TrainerFactory.getEventTrainer(trainParams, null); AbstractModel model = (AbstractModel) trainer.train(PrepAttachDataUtil.createTrainingStream()); PrepAttachDataUtil.testModel(model, 0.773706362961129); // serialize and load model, then check if it still works as expected ByteArrayOutputStream modelBytes = new ByteArrayOutputStream(); BinaryPerceptronModelWriter writer = new BinaryPerceptronModelWriter(model, new DataOutputStream(modelBytes)); writer.persist(); writer.close(); MaxentModel restoredModel = new BinaryPerceptronModelReader( new DataInputStream(new ByteArrayInputStream(modelBytes.toByteArray()))).getModel(); PrepAttachDataUtil.testModel(restoredModel, 0.773706362961129); }
private void init(AbstractModel model, EncryptedDataOutputStream dos) { if (model.getModelType() == ModelType.Perceptron) { delegateWriter = new BinaryPerceptronModelWriter(model, dos); } else if (model.getModelType() == ModelType.Maxent) { delegateWriter = new BinaryGISModelWriter(model, dos); } else if (model.getModelType() == ModelType.MaxentQn) { delegateWriter = new BinaryQNModelWriter(model, dos); } if (model.getModelType() == ModelType.NaiveBayes) { delegateWriter = new BinaryNaiveBayesModelWriter(model, dos); } }
private void init(AbstractModel model, DataOutputStream dos) { if (model.getModelType() == ModelType.Perceptron) { delegateWriter = new BinaryPerceptronModelWriter(model, dos); } else if (model.getModelType() == ModelType.Maxent) { delegateWriter = new BinaryGISModelWriter(model, dos); } else if (model.getModelType() == ModelType.MaxentQn) { delegateWriter = new BinaryQNModelWriter(model, dos); } if (model.getModelType() == ModelType.NaiveBayes) { delegateWriter = new BinaryNaiveBayesModelWriter(model, dos); } }