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