From d21d7df407189778d2300a09ddc16bc0989663fe Mon Sep 17 00:00:00 2001
From: Yandi <yandirzm@gmail.com>
Date: Sun, 22 Jan 2023 19:15:42 +0100
Subject: [PATCH] [Debug] Trying to understand why does not converge

---
 main.py  |  2 +-
 model.py | 25 +++++++++++++++++++++----
 train.py | 12 ++++++------
 3 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/main.py b/main.py
index 9b2efb8..3acf979 100644
--- a/main.py
+++ b/main.py
@@ -107,7 +107,7 @@ if __name__ == "__main__":
         print(" Validation : Loss : {:.4f}".format(val_loss))
 
 
-    create_submission.create_submission(network, None)
+    create_submission.create_submission(network, None, device)
     """
     logdir = generate_unique_logpath(top_logdir, "linear")
     print("Logging to {}".format(logdir))
diff --git a/model.py b/model.py
index a40839c..9a73117 100644
--- a/model.py
+++ b/model.py
@@ -11,11 +11,28 @@ class LinearRegression(nn.Module):
         super(LinearRegression, self).__init__()
         self.input_size = input_size
         self.bias = cfg["LinearRegression"]["Bias"]
-        self.regressor = nn.Linear(input_size, 1, self.bias)
-        self.activate = nn.ReLU()
+        self.hidden_size = int(cfg["LinearRegression"]["HiddenSize"])
+        self.regressor = nn.Sequential(
+        nn.Linear(input_size,self.hidden_size,self.bias),
+        nn.ReLU(),
+        nn.Linear(self.hidden_size, self.hidden_size, self.bias),
+        nn.ReLU(),
+        nn.Linear(self.hidden_size,self.hidden_size,self.bias),
+        nn.ReLU(),
+        nn.Linear(self.hidden_size,self.hidden_size,self.bias),
+        nn.ReLU(),
+        nn.Linear(self.hidden_size,self.hidden_size,self.bias),
+        nn.ReLU(),
+        nn.Linear(self.hidden_size,self.hidden_size,self.bias),
+        nn.ReLU(),
+        nn.Linear(self.hidden_size,self.hidden_size, self.bias),
+        nn.ReLU(),
+        nn.Linear(self.hidden_size,1, self.bias),
+        nn.ReLU()
+    )
+
     def forward(self, x):
-        y = self.regressor(x).view((x.shape[0],-1))
-        return self.activate(y)
+        return self.regressor(x) 
 
 def build_model(cfg, input_size):    
     return eval(f"{cfg['Model']['Name']}(cfg, input_size)")
diff --git a/train.py b/train.py
index cb594f8..a09e78a 100644
--- a/train.py
+++ b/train.py
@@ -41,14 +41,14 @@ def train(model, loader, f_loss, optimizer, device):
         
         Y = list(model.parameters())[0].grad.cpu().tolist()
         
-        gradients.append(np.mean(Y))
-        tar.append(np.mean(outputs.cpu().tolist()))
-        out.append(np.mean(targets.cpu().tolist()))
+        #gradients.append(np.mean(Y))
+        #tar.append(np.mean(outputs.cpu().tolist()))
+        #out.append(np.mean(targets.cpu().tolist()))
         
         optimizer.step()
-    visualize_gradients(gradients)
-    visualize_gradients(tar)
-    visualize_gradients(out)
+    #visualize_gradients(gradients)
+    #visualize_gradients(tar)
+    #visualize_gradients(out)
 
 def visualize_gradients(gradients):
     print(gradients)
-- 
GitLab