From 9353be88344eb7a8efef4469a592fdaa39ee543f Mon Sep 17 00:00:00 2001
From: Andi Gerken <andi.gerken@gmail.com>
Date: Mon, 16 May 2022 16:31:29 +0200
Subject: [PATCH] Updated models, datasets, index

---
 automation/upload.sh          |   1 +
 public_html/datasets.json     |  20 +----
 public_html/index.php         | 163 ++++++++++++++++++----------------
 public_html/model_hashes.json |   2 +-
 public_html/models.json       |  12 ++-
 5 files changed, 99 insertions(+), 99 deletions(-)

diff --git a/automation/upload.sh b/automation/upload.sh
index 2bdae29..80cec41 100755
--- a/automation/upload.sh
+++ b/automation/upload.sh
@@ -1,3 +1,4 @@
+python calculate_model_hashes.py
 find /home/andi/blubber_workspace/model_server/public_html/ -type d -exec chmod 755 {} \;
 find /home/andi/blubber_workspace/model_server/public_html/ -type f -exec chmod 655 {} \;
 rsync -a --delete /home/andi/blubber_workspace/model_server/public_html/ login_zedat:public_html/model_server/
diff --git a/public_html/datasets.json b/public_html/datasets.json
index a708627..d7ac911 100644
--- a/public_html/datasets.json
+++ b/public_html/datasets.json
@@ -90,23 +90,5 @@
             "max_files": 20
         },
         "notes": "<span style='color:darkred;'>Should be regenerated to fit the current fish_models version</span>"
-    },
-    "pascal_vanilla_couzin":{
-    	"path": "datasets/pascal_vanilla_couzin.pickle",
-    	"date": "21.12.2021",
-    	"dataset_config": {
-    		"data_path": "pascal_vanilla_couzin",
-    		"output_strings":["actions", "poses"]
-    	},
-        "notes": "<span style='color:darkred;'>Should be regenerated to fit the current fish_models version</span>"
-    },
-    "pascal_180fov_couzin":{
-    	"path": "datasets/pascal_180fov_couzin.pickle",
-    	"date": "21.12.2021",
-    	"dataset_config": {
-    		"data_path": "pascal_180fov_couzin",
-    		"output_strings":["actions", "poses"]
-    	},
-        "notes": "<span style='color:darkred;'>Should be regenerated to fit the current fish_models version</span>"
     }
-}
+}
\ No newline at end of file
diff --git a/public_html/index.php b/public_html/index.php
index e5e114e..7364132 100644
--- a/public_html/index.php
+++ b/public_html/index.php
@@ -41,13 +41,13 @@
                 <th>Date</th>
                 <th>Dataset</th>
                 <th>Size</th>
-		<th>Generated Tracks</th>
+                <th>Generated Tracks</th>
                 <th>Evaluation</th>
                 <th>Video</th>
                 <th>Model</th>
             </tr>
             <?php
-		foreach($models_json as $model_name => $model_args){
+		foreach(array_reverse($models_json) as $model_name => $model_args){
 			echo "<tr>";
 			echo "<td>", $model_name, "</td>";
 			echo "<td>", $model_args["date"], "</td>";
@@ -90,37 +90,89 @@
 		
 		?>
         </table>
-        
-		<div>
-			<a href = "model_hashes.json">Model hashes (sha1)</a>
-		</div>
 
         <div>
-        	<h2>Models without training</h2>
-        	Models which don't require training can be generated using the same <code>fish_models.ModelStorage.load_from_model_name("model.class.path(arg=42)")</code> function with the class path and arguments passed as a string (from version 0.3.7).
-        	<ul>
-        		<li><b>BasicFollowModel:</b> A model that always follows. The model turns can only operate with one partner fish in the tank. It will turn towards it smothly and has a constant speed. Normally distributed noise can be added to the turning angle.</br>
-        		<a href='http://agerken.de/fish_models/models/basic_test_models.html#fish_models.models.basic_test_models.BasicFollowModel'><code>fish_models.models.basic_test_models.BasicFollowModel()</code></a>
-				<li><b>LiveFemaleFemaleConstantSpeedCouzinModel:</b> A constant speed couzin model with tuned parameters to fit the behavior of the live female female data. The behavior is non deterministic.</br>
-				Example tracks can be found in the documentation:</br>
-				<a href='http://agerken.de/fish_models/models/released/parametrized.html#fish_models.models.released.parametrized.LiveFemaleFemaleConstantSpeedCouzinModel'><code>fish_models.models.released.parametrized.LiveFemaleFemaleConstantSpeedCouzinModel()</code></a>
-        	</ul>
-        
-        <h1>Datasets</h1>
-        <table>
-            <tr>
-                <th>Name</th>
-                <th>Date</th>
-                <th>Data</th>
-                <th>Wallray</th>
-                <th>Fishbins</th>
-                <th>Output</th>
-                <th>Reduce dim</th>
-                <th>Max Files</th>
-                <th>Size</th>
-                <th>Download</th>
-            </tr>
-            <?php
+            <a href="model_hashes.json">Model hashes (sha1)</a>
+        </div>
+
+        <div>
+            <h2>Models without training</h2>
+            Models which don't require training can be generated using the same
+            <code>fish_models.ModelStorage.load_from_model_name("model.class.path(arg=42)")</code> function with the
+            class path and arguments passed as a string (from version 0.3.7).
+            <ul>
+                <li><b>BasicFollowModel:</b> A model that always follows. The model turns can only operate with one
+                    partner fish in the tank. It will turn towards it smothly and has a constant speed. Normally
+                    distributed noise can be added to the turning angle.</br>
+                    <a
+                        href='http://agerken.de/fish_models/models/basic_test_models.html#fish_models.models.basic_test_models.BasicFollowModel'><code>fish_models.models.basic_test_models.BasicFollowModel()</code></a>
+                <li><b>LiveFemaleFemaleConstantSpeedCouzinModel:</b> A constant speed couzin model with tuned parameters
+                    to fit the behavior of the live female female data. The behavior is non deterministic.</br>
+                    Example tracks can be found in the documentation:</br>
+                    <a
+                        href='http://agerken.de/fish_models/models/released/parametrized.html#fish_models.models.released.parametrized.LiveFemaleFemaleConstantSpeedCouzinModel'><code>fish_models.models.released.parametrized.LiveFemaleFemaleConstantSpeedCouzinModel()</code></a>
+            </ul>
+
+            <h1>Raw Data</h1>
+            <table>
+                <tr>
+                    <th>Name</th>
+                    <th>Author</th>
+                    <th>Date</th>
+                    <th>Tracking</th>
+                    <th>Size</th>
+                    <th>Folders [Files]</th>
+                    <th>Evaluation</th>
+                    <th>Download</th>
+                </tr>
+                <?php
+		foreach($raw_data_json as $raw_data_name => $rdarg){
+			if($_GET["raw_data"] == $raw_data_name){
+				echo "<tr id=$raw_data_name class=active>";
+			}else{
+				echo "<tr id=$raw_data_name>";
+			}
+			echo "<td>$raw_data_name</td>";
+			echo "<td>",$rdarg['author'],"</td>";
+			echo "<td>",$rdarg['date'],"</td>";
+			echo "<td>",$rdarg['tracking'],"</td>";
+			echo "<td>",round(filesize($rdarg['path']) / pow(1024, 2),1) ,"MB</td>";
+			echo "<td><code>";
+			$folder_str = "";
+			foreach($rdarg['folders'] as $folder){
+				$folder_str = $folder_str."$folder: [".(count(scandir($rdarg['path_unpacked']."/$folder")) - 2)."], ";
+			}
+			echo substr($folder_str, 0, -2);
+			echo "</code></td>";
+			if(file_exists("evaluation/raw_data/".$raw_data_name)){
+                		echo "<td><a href='raw_data_details.php?raw_data=", $raw_data_name, "'>Show</a></td>";
+            		}else{
+		                echo"<td></td>";
+		        }
+			echo "<td><a href='",$rdarg['path'],"'>Download</a></td>";
+			echo "</tr>";
+			if(array_key_exists("notes",$rdarg)){
+				echo "<tr><td></td><td colspan=9 class='textrow'>".$rdarg["notes"]."</td></tr>";
+			}
+		}
+		?>
+            </table>
+
+            <h1>Datasets (Deprecated?)</h1>
+            <table>
+                <tr>
+                    <th>Name</th>
+                    <th>Date</th>
+                    <th>Data</th>
+                    <th>Wallray</th>
+                    <th>Fishbins</th>
+                    <th>Output</th>
+                    <th>Reduce dim</th>
+                    <th>Max Files</th>
+                    <th>Size</th>
+                    <th>Download</th>
+                </tr>
+                <?php
 		foreach($datasets_json as $dataset_name => $darg){
 			if($_GET["dset"] == $dataset_name){
 				echo "<tr id=$dataset_name class=active>";
@@ -154,53 +206,8 @@
 			}
 		}
 		?>
-        </table>
-
-        <h1>Raw Data</h1>
-        <table>
-            <tr>
-                <th>Name</th>
-                <th>Author</th>
-                <th>Date</th>
-                <th>Tracking</th>
-                <th>Size</th>
-				<th>Folders [Files]</th>
-                <th>Evaluation</th>
-                <th>Download</th>
-            </tr>
-            <?php
-		foreach($raw_data_json as $raw_data_name => $rdarg){
-			if($_GET["raw_data"] == $raw_data_name){
-				echo "<tr id=$raw_data_name class=active>";
-			}else{
-				echo "<tr id=$raw_data_name>";
-			}
-			echo "<td>$raw_data_name</td>";
-			echo "<td>",$rdarg['author'],"</td>";
-			echo "<td>",$rdarg['date'],"</td>";
-			echo "<td>",$rdarg['tracking'],"</td>";
-			echo "<td>",round(filesize($rdarg['path']) / pow(1024, 2),1) ,"MB</td>";
-			echo "<td><code>";
-			$folder_str = "";
-			foreach($rdarg['folders'] as $folder){
-				$folder_str = $folder_str."$folder: [".(count(scandir($rdarg['path_unpacked']."/$folder")) - 2)."], ";
-			}
-			echo substr($folder_str, 0, -2);
-			echo "</code></td>";
-			if(file_exists("evaluation/raw_data/".$raw_data_name)){
-                		echo "<td><a href='raw_data_details.php?raw_data=", $raw_data_name, "'>Show</a></td>";
-            		}else{
-		                echo"<td></td>";
-		        }
-			echo "<td><a href='",$rdarg['path'],"'>Download</a></td>";
-			echo "</tr>";
-			if(array_key_exists("notes",$rdarg)){
-				echo "<tr><td></td><td colspan=9 class='textrow'>".$rdarg["notes"]."</td></tr>";
-			}
-		}
-		?>
-        </table>
-    </div>
+            </table>
+        </div>
 </body>
 
 </html>
diff --git a/public_html/model_hashes.json b/public_html/model_hashes.json
index 78c1638..9b1010a 100644
--- a/public_html/model_hashes.json
+++ b/public_html/model_hashes.json
@@ -1 +1 @@
-{"ReplayModel_v0.zip": "2e131cadbf30d78156a5ba4d0e2af0aeafdd6bc3", "GRU_with_conv_15fov.zip": "1be32ccdf9f28d428e11724d8e6f61e6fb1b16af", "KNNModel_v0.zip": "9ffa06b66a1519b7a44b325baddb5ed12e79ac33", "GRU_with_conv_51fov.zip": "f8f4d3729b4c94dfd8ff176802df7d7c1e142d4e", "GRU_without_conv_51_fov.zip": "c16a383de8dca96b5f4758fc66c70535985a0f15", "ClusterModel_v1_0.zip": "6148edf3820ba1a3227b192bd15a0f83d2c26d46", "ClassificationModel_v0.zip": "8945a0156dec3bc2a7269060c5b0a51d0525f0db", "ConvLinearDropoutClassifier_v0.zip": "8fc3561a93774f9187ae33ce9ed8ee226943533f", "ConvLinearDropoutClassifier_v1_trial_399.zip": "ec8fabecef782fc2e0f741dba7e0e2b9e711b2da", "ConvLinearDropoutClassifier_v1_trial_405.zip": "e283c494115e815ec8f5f064070bf0087654212b", "ClusterModel_v1_1.zip": "2de7e594c695b558644e19abd56d279bfb093fce", "ClusterModel_v0.zip": "52d184745f1f7879f7244845588376c314ef8b4a"}
\ No newline at end of file
+{"ClusterModel_v0.zip": "52d184745f1f7879f7244845588376c314ef8b4a", "ClusterModel_v1_1.zip": "2de7e594c695b558644e19abd56d279bfb093fce", "ConvLinearDropoutClassifier_v1_trial_405.zip": "e283c494115e815ec8f5f064070bf0087654212b", "ConvLinearDropoutClassifier_v0.zip": "8fc3561a93774f9187ae33ce9ed8ee226943533f", "GRU_with_conv_51fov.zip": "f8f4d3729b4c94dfd8ff176802df7d7c1e142d4e", "ConvLinearDropoutClassifier_v1_trial_399.zip": "ec8fabecef782fc2e0f741dba7e0e2b9e711b2da", "ClassificationModel_v0.zip": "8945a0156dec3bc2a7269060c5b0a51d0525f0db", "GRU_with_conv_15fov.zip": "1be32ccdf9f28d428e11724d8e6f61e6fb1b16af", "ClusterModel_v1_0.zip": "6148edf3820ba1a3227b192bd15a0f83d2c26d46", "ConvLinearDropoutClassifier_v1_full_dataset.zip": "c95e411b80ed5d2f2aaa1faf865dde3f86a313db", "KNNModel_v0.zip": "9ffa06b66a1519b7a44b325baddb5ed12e79ac33", "GRU_without_conv_51_fov.zip": "c16a383de8dca96b5f4758fc66c70535985a0f15", "ReplayModel_v0.zip": "2e131cadbf30d78156a5ba4d0e2af0aeafdd6bc3"}
\ No newline at end of file
diff --git a/public_html/models.json b/public_html/models.json
index d2201f4..3e9f62c 100644
--- a/public_html/models.json
+++ b/public_html/models.json
@@ -98,5 +98,15 @@
             "live_female_female/cherry_train",
             "live_female_female/cherry_test"
         ]
+    },
+    "ConvLinearDropoutClassifier_v1_full_dataset": {
+        "path": "models/ConvLinearDropoutClassifier_v1_full_dataset.zip",
+        "date": "10.05.2022",
+        "notes": "The ConvLinearDropoutClsasifier trained to the full live_female_female dataset.",
+        "dataset": "live_female_female",
+        "evaluation_folders": [
+            "live_female_female/train",
+            "live_female_female/test"
+        ]
     }
-}
\ No newline at end of file
+}
-- 
GitLab