From f1b6533629709046dea3faa77ba7b088df26077a Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Thu, 2 May 2019 18:23:51 +0200
Subject: [PATCH] Rename and move model.Model in api to EncogModel.

---
 .../inf/st/eraser/starter/EraserStarter.java     |  4 ++--
 .../api/{model/Model.java => EncogModel.java}    |  6 +++---
 .../inf/st/eraser/feedbackloop/api/Learner.java  |  5 ++---
 .../feedbackloop/learner/LearnerHelper.java      | 14 +++++++-------
 .../eraser/feedbackloop/learner/LearnerImpl.java | 16 ++++++++--------
 .../inf/st/eraser/feedbackloop/learner/Main.java | 10 +++++-----
 6 files changed, 27 insertions(+), 28 deletions(-)
 rename feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/{model/Model.java => EncogModel.java} (88%)

diff --git a/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java b/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java
index 1bf2b068..b263fd58 100644
--- a/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java
+++ b/eraser.starter/src/main/java/de/tudresden/inf/st/eraser/starter/EraserStarter.java
@@ -8,7 +8,7 @@ import de.tudresden.inf.st.eraser.feedbackloop.api.Analyze;
 import de.tudresden.inf.st.eraser.feedbackloop.api.Execute;
 import de.tudresden.inf.st.eraser.feedbackloop.api.Learner;
 import de.tudresden.inf.st.eraser.feedbackloop.api.Plan;
-import de.tudresden.inf.st.eraser.feedbackloop.api.model.Model;
+import de.tudresden.inf.st.eraser.feedbackloop.api.EncogModel;
 import de.tudresden.inf.st.eraser.feedbackloop.execute.ExecuteImpl;
 import de.tudresden.inf.st.eraser.feedbackloop.learner.LearnerHelper;
 import de.tudresden.inf.st.eraser.feedbackloop.learner.LearnerImpl;
@@ -142,7 +142,7 @@ public class EraserStarter {
 //      Model preference = learner.getTrainedModel(settings.preference.realURL(), settings.preference.id);
       logger.debug("Loading of {} was {}", settings.preference.realURL(), loadingSuccessful ? "successful" : "failed");
       if (loadingSuccessful) {
-        Model preference = learner.getTrainedModel(settings.preference.id);
+        EncogModel preference = learner.getTrainedModel(settings.preference.id);
         NeuralNetworkRoot neuralNetwork = LearnerHelper.transform(preference);
         if (neuralNetwork == null) {
           logger.error("Could not create preference model, see possible previous errors.");
diff --git a/feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/model/Model.java b/feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/EncogModel.java
similarity index 88%
rename from feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/model/Model.java
rename to feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/EncogModel.java
index d3951ee8..c0bc0336 100644
--- a/feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/model/Model.java
+++ b/feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/EncogModel.java
@@ -1,4 +1,4 @@
-package de.tudresden.inf.st.eraser.feedbackloop.api.model;
+package de.tudresden.inf.st.eraser.feedbackloop.api;
 
 import lombok.Getter;
 import lombok.Setter;
@@ -18,7 +18,7 @@ import java.util.Objects;
  * */
 @Getter
 @Setter
-public class Model {
+public class EncogModel {
 	/**
 	 * todo
 	 */
@@ -26,7 +26,7 @@ public class Model {
 	private List<Double> weights;
 	private List<Layer> layers;
 
-	public Model(String model) {
+	public EncogModel(String model) {
 		modelType = model;
 	}
 
diff --git a/feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/Learner.java b/feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/Learner.java
index 16bcc040..a08a6fc2 100644
--- a/feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/Learner.java
+++ b/feedbackloop.api/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/api/Learner.java
@@ -7,7 +7,6 @@ import java.util.List;
 
 import org.encog.util.arrayutil.NormalizedField;
 
-import de.tudresden.inf.st.eraser.feedbackloop.api.model.Model;
 import de.tudresden.inf.st.eraser.jastadd.model.Root;
 
 /**
@@ -117,10 +116,10 @@ public interface Learner {
 	 * @param modelID - ID of the model of which information is requested from
 	 * @return Model - Object that contains the information of the requested model  
 	 * */
-	Model getTrainedModel(int modelID);
+	EncogModel getTrainedModel(int modelID);
 
 	@Deprecated
-	Model getTrainedModel(URL url, int modelID);
+	EncogModel getTrainedModel(URL url, int modelID);
 	
 	/**
 	 * 
diff --git a/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/LearnerHelper.java b/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/LearnerHelper.java
index c33928e0..f23b5810 100644
--- a/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/LearnerHelper.java
+++ b/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/LearnerHelper.java
@@ -1,6 +1,6 @@
 package de.tudresden.inf.st.eraser.feedbackloop.learner;
 
-import de.tudresden.inf.st.eraser.feedbackloop.api.model.Model;
+import de.tudresden.inf.st.eraser.feedbackloop.api.EncogModel;
 import de.tudresden.inf.st.eraser.jastadd.model.*;
 import org.apache.commons.math3.stat.StatUtils;
 import org.apache.logging.log4j.LogManager;
@@ -17,7 +17,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 /**
- * Transformation of a {@link Model} into a {@link NeuralNetworkRoot}.
+ * Transformation of a {@link EncogModel} into a {@link NeuralNetworkRoot}.
  *
  * @author rschoene - Initial contribution
  */
@@ -30,14 +30,14 @@ public class LearnerHelper {
   private static DoubleArrayDoubleFunction tanh = inputs -> Math.tanh(Arrays.stream(inputs).sum());
   private static DoubleArrayDoubleFunction function_one = inputs -> 1.0;
 
-  public static NeuralNetworkRoot transform(Model model) {
+  public static NeuralNetworkRoot transform(EncogModel encogModel) {
     NeuralNetworkRoot result = NeuralNetworkRoot.createEmpty();
-    List<Double> weights = model.getWeights();
+    List<Double> weights = encogModel.getWeights();
     logger.debug("Got {} weights", weights.size());
 
     List<List<Neuron>> allNeurons = new ArrayList<>();
     // inputs
-    Layer inputLayer = model.getInputLayer();
+    Layer inputLayer = encogModel.getInputLayer();
     reportLayer("input", inputLayer);
     List<Neuron> inputNeurons = new ArrayList<>();
     for (int i = 0; i < nonBiasNeuronCount(inputLayer); ++i) {
@@ -50,7 +50,7 @@ public class LearnerHelper {
 
     // hidden layer
     List<Neuron> currentNeurons;
-    for (Layer hiddenLayer : model.getHiddenLayers()) {
+    for (Layer hiddenLayer : encogModel.getHiddenLayers()) {
       reportLayer("one hidden", hiddenLayer);
       currentNeurons = new ArrayList<>();
       allNeurons.add(currentNeurons);
@@ -65,7 +65,7 @@ public class LearnerHelper {
 
     // output layer
     OutputLayer outputLayer = new OutputLayer();
-    Layer modelOutputLayer = model.getOutputLayer();
+    Layer modelOutputLayer = encogModel.getOutputLayer();
     reportLayer("output", modelOutputLayer);
     List<Neuron> outputNeurons = new ArrayList<>();
     for (int i = 0; i < nonBiasNeuronCount(modelOutputLayer); ++i) {
diff --git a/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/LearnerImpl.java b/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/LearnerImpl.java
index 8cd30d35..83edf6b7 100644
--- a/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/LearnerImpl.java
+++ b/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/LearnerImpl.java
@@ -1,7 +1,7 @@
 package de.tudresden.inf.st.eraser.feedbackloop.learner;
 
+import de.tudresden.inf.st.eraser.feedbackloop.api.EncogModel;
 import de.tudresden.inf.st.eraser.feedbackloop.api.Learner;
-import de.tudresden.inf.st.eraser.feedbackloop.api.model.Model;
 import de.tudresden.inf.st.eraser.jastadd.model.Root;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -170,17 +170,17 @@ public class LearnerImpl implements Learner {
 
 
   @Override
-  public Model getTrainedModel(int modelID) {
+  public EncogModel getTrainedModel(int modelID) {
     return fillModel(modelID);
   }
 
   @Override
-  public Model getTrainedModel(URL url, int modelID) {
+  public EncogModel getTrainedModel(URL url, int modelID) {
     return fillModel(modelID);
   }
 
-  private Model fillModel(int modelID) {
-    Model model = new Model("NN");
+  private EncogModel fillModel(int modelID) {
+    EncogModel encogModel = new EncogModel("NN");
     BasicNetwork nn = models.get(modelID).getNetwork();
 
     ArrayList<Double> weightsList = new ArrayList<>();
@@ -191,7 +191,7 @@ public class LearnerImpl implements Learner {
       weightsList.add(Double.valueOf(split[i]));
     }
 
-    model.setWeights(weightsList);
+    encogModel.setWeights(weightsList);
 
     // do not use getLayers() because it is not restored immediately on load from file
     FlatNetwork flat = nn.getFlat();
@@ -205,9 +205,9 @@ public class LearnerImpl implements Learner {
       layers.add(0, l);
     }
 
-    model.setLayers(layers);
+    encogModel.setLayers(layers);
 
-    return model;
+    return encogModel;
   }
 
 
diff --git a/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/Main.java b/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/Main.java
index 97c90b4a..0f82201e 100644
--- a/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/Main.java
+++ b/feedbackloop.learner/src/main/java/de/tudresden/inf/st/eraser/feedbackloop/learner/Main.java
@@ -1,7 +1,7 @@
 package de.tudresden.inf.st.eraser.feedbackloop.learner;
 
 import de.tudresden.inf.st.eraser.feedbackloop.api.Learner;
-import de.tudresden.inf.st.eraser.feedbackloop.api.model.Model;
+import de.tudresden.inf.st.eraser.feedbackloop.api.EncogModel;
 import de.tudresden.inf.st.eraser.jastadd.model.*;
 import org.apache.commons.math3.stat.StatUtils;
 import org.apache.logging.log4j.LogManager;
@@ -68,10 +68,10 @@ public class Main {
     NeuralNetworkRoot eraserModel = LearnerHelper.transform(learner.getTrainedModel(1));
 	}
 
-	private static void printModel(Model model) {
-		logger.info("Model Type is: " + model.getModelType());
-		logger.info("Model Weights are: " + model.getWeights());
-		logger.info("Model layers are: " + model.getLayers());
+	private static void printModel(EncogModel encogModel) {
+		logger.info("Model Type is: " + encogModel.getModelType());
+		logger.info("Model Weights are: " + encogModel.getWeights());
+		logger.info("Model layers are: " + encogModel.getLayers());
 //		logger.info("Model input normal neutrons: " + model.getInputLayerNumber());
 //		logger.info("Model input bias neutron: " + model.getInputBias());
 //		logger.info("Model hidden normal neutrons: " + model.gethiddenLayerNumber());
-- 
GitLab