From 221565f4ec27f284fe7d4b771d473b6da5d1b86c Mon Sep 17 00:00:00 2001 From: illiumst Date: Sun, 29 Sep 2019 19:59:09 +0200 Subject: [PATCH] Data Loaders and Stuff --- .gitignore.txt | 161 ++++++++++++++++++ networks/modules.py | 28 ++- .../default/version_0/meta.experiment | 0 ...s.out.tfevents.1569753030.Mainframe.9592.0 | Bin 0 -> 40 bytes .../default/version_0/meta.experiment | 0 ....out.tfevents.1569753078.Mainframe.11012.0 | Bin 0 -> 40 bytes .../default/version_0/meta.experiment | 0 ...s.out.tfevents.1569753212.Mainframe.2136.0 | Bin 0 -> 40 bytes .../default/version_0/meta.experiment | 1 + .../default/version_0/meta_tags.csv | 8 + .../default/version_0/metrics.csv | 2 + ....out.tfevents.1569753327.Mainframe.12412.0 | Bin 0 -> 366 bytes .../default/version_0/meta.experiment | 1 + .../default/version_0/meta_tags.csv | 8 + .../default/version_0/metrics.csv | 1 + ...s.out.tfevents.1569753853.Mainframe.6536.0 | Bin 0 -> 280 bytes .../default/version_0/meta.experiment | 1 + .../default/version_0/meta_tags.csv | 8 + .../default/version_0/metrics.csv | 3 + ...s.out.tfevents.1569753869.Mainframe.3868.0 | Bin 0 -> 452 bytes .../default/version_0/meta.experiment | 1 + .../default/version_0/meta_tags.csv | 8 + .../default/version_0/metrics.csv | 48 ++++++ ....out.tfevents.1569754458.Mainframe.12296.0 | Bin 0 -> 4387 bytes run_models.py | 6 +- viz/output.png | Bin 55875 -> 0 bytes 26 files changed, 267 insertions(+), 18 deletions(-) create mode 100644 .gitignore.txt create mode 100644 output/AE_Model/Sun_Sep_29_12-30-30_2019/default/version_0/meta.experiment create mode 100644 output/AE_Model/Sun_Sep_29_12-30-30_2019/default/version_0/tf/events.out.tfevents.1569753030.Mainframe.9592.0 create mode 100644 output/AE_Model/Sun_Sep_29_12-31-18_2019/default/version_0/meta.experiment create mode 100644 output/AE_Model/Sun_Sep_29_12-31-18_2019/default/version_0/tf/events.out.tfevents.1569753078.Mainframe.11012.0 create mode 100644 output/AE_Model/Sun_Sep_29_12-33-32_2019/default/version_0/meta.experiment create mode 100644 output/AE_Model/Sun_Sep_29_12-33-32_2019/default/version_0/tf/events.out.tfevents.1569753212.Mainframe.2136.0 create mode 100644 output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/meta.experiment create mode 100644 output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/meta_tags.csv create mode 100644 output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/metrics.csv create mode 100644 output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/tf/events.out.tfevents.1569753327.Mainframe.12412.0 create mode 100644 output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/meta.experiment create mode 100644 output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/meta_tags.csv create mode 100644 output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/metrics.csv create mode 100644 output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/tf/events.out.tfevents.1569753853.Mainframe.6536.0 create mode 100644 output/AE_Model/Sun_Sep_29_12-44-29_2019/default/version_0/meta.experiment create mode 100644 output/AE_Model/Sun_Sep_29_12-44-29_2019/default/version_0/meta_tags.csv create mode 100644 output/AE_Model/Sun_Sep_29_12-44-29_2019/default/version_0/metrics.csv create mode 100644 output/AE_Model/Sun_Sep_29_12-44-29_2019/default/version_0/tf/events.out.tfevents.1569753869.Mainframe.3868.0 create mode 100644 output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/meta.experiment create mode 100644 output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/meta_tags.csv create mode 100644 output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/metrics.csv create mode 100644 output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/tf/events.out.tfevents.1569754458.Mainframe.12296.0 delete mode 100644 viz/output.png diff --git a/.gitignore.txt b/.gitignore.txt new file mode 100644 index 0000000..e628346 --- /dev/null +++ b/.gitignore.txt @@ -0,0 +1,161 @@ +# My Local Settings + +/data/ + +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +/.idea/ + +# CMake +cmake-build-*/ + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Created by https://www.gitignore.io/api/python +# Edit at https://www.gitignore.io/?templates=python + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# End of https://www.gitignore.io/api/python diff --git a/networks/modules.py b/networks/modules.py index 5a57b2d..cd9ace2 100644 --- a/networks/modules.py +++ b/networks/modules.py @@ -31,8 +31,8 @@ class LightningModuleOverrides: return self.network.forward(x) @data_loader - def tng_dataloader(self): - num_workers = 0 # os.cpu_count() // 2 + def train_dataloader(self): + num_workers = 0 # os.cpu_count() // 2 return DataLoader(DataContainer(os.path.join('data', 'training'), self.size, self.step), shuffle=True, batch_size=10000, num_workers=num_workers) """ @@ -73,6 +73,17 @@ class LightningModule(pl.LightningModule, ABC): # REQUIRED raise NotImplementedError + @abstractmethod + def configure_optimizers(self): + # REQUIRED + raise NotImplementedError + + @pl.data_loader + def train_dataloader(self): + # REQUIRED + raise NotImplementedError + + """ def validation_step(self, batch, batch_nb): # OPTIONAL pass @@ -81,19 +92,6 @@ class LightningModule(pl.LightningModule, ABC): # OPTIONAL pass - @abstractmethod - def configure_optimizers(self): - # REQUIRED - raise NotImplementedError - - @pl.data_loader - def tng_dataloader(self): - # REQUIRED - raise NotImplementedError - # return DataLoader(MNIST(os.getcwd(), train=True, download=True, - # transform=transforms.ToTensor()), batch_size=32) - - """ @pl.data_loader def val_dataloader(self): # OPTIONAL diff --git a/output/AE_Model/Sun_Sep_29_12-30-30_2019/default/version_0/meta.experiment b/output/AE_Model/Sun_Sep_29_12-30-30_2019/default/version_0/meta.experiment new file mode 100644 index 0000000..e69de29 diff --git a/output/AE_Model/Sun_Sep_29_12-30-30_2019/default/version_0/tf/events.out.tfevents.1569753030.Mainframe.9592.0 b/output/AE_Model/Sun_Sep_29_12-30-30_2019/default/version_0/tf/events.out.tfevents.1569753030.Mainframe.9592.0 new file mode 100644 index 0000000000000000000000000000000000000000..c15615a9c0156c3440034d7400f99c460761631e GIT binary patch literal 40 rcmb1OfPlsI-b$QvGgp69Ou6nT#hX-=n3<>NT9%quVrAsgpwkNg)jte8 literal 0 HcmV?d00001 diff --git a/output/AE_Model/Sun_Sep_29_12-31-18_2019/default/version_0/meta.experiment b/output/AE_Model/Sun_Sep_29_12-31-18_2019/default/version_0/meta.experiment new file mode 100644 index 0000000..e69de29 diff --git a/output/AE_Model/Sun_Sep_29_12-31-18_2019/default/version_0/tf/events.out.tfevents.1569753078.Mainframe.11012.0 b/output/AE_Model/Sun_Sep_29_12-31-18_2019/default/version_0/tf/events.out.tfevents.1569753078.Mainframe.11012.0 new file mode 100644 index 0000000000000000000000000000000000000000..efc96da59361b69827b9c8fb3ac2d4203f8c6b58 GIT binary patch literal 40 rcmb1OfPlsI-b$P&l@|Y1Ou6nT#hX-=n3<>NT9%quVr6uQ+4D01)Fuq6 literal 0 HcmV?d00001 diff --git a/output/AE_Model/Sun_Sep_29_12-33-32_2019/default/version_0/meta.experiment b/output/AE_Model/Sun_Sep_29_12-33-32_2019/default/version_0/meta.experiment new file mode 100644 index 0000000..e69de29 diff --git a/output/AE_Model/Sun_Sep_29_12-33-32_2019/default/version_0/tf/events.out.tfevents.1569753212.Mainframe.2136.0 b/output/AE_Model/Sun_Sep_29_12-33-32_2019/default/version_0/tf/events.out.tfevents.1569753212.Mainframe.2136.0 new file mode 100644 index 0000000000000000000000000000000000000000..ec8e39efb623ed3d5700fa0bba42f1ccc6b6ad0e GIT binary patch literal 40 rcmb1OfPlsI-b$R;KXS+`rCfKE;!P?_%*@ksElbTSu`+V|y2}j!$K?!2 literal 0 HcmV?d00001 diff --git a/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/meta.experiment b/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/meta.experiment new file mode 100644 index 0000000..69f9514 --- /dev/null +++ b/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/meta.experiment @@ -0,0 +1 @@ +{"name": "default", "version": 0, "tags_path": "C:\\Users\\steff\\Google Drive\\LMU\\Research\\ae_toolbox_torch\\output\\AE_Model\\Sun_Sep_29_12-35-27_2019\\default\\version_0/meta_tags.csv", "metrics_path": "C:\\Users\\steff\\Google Drive\\LMU\\Research\\ae_toolbox_torch\\output\\AE_Model\\Sun_Sep_29_12-35-27_2019\\default\\version_0/metrics.csv", "autosave": false, "description": null, "created_at": "2019-09-29 10:35:27.965484", "exp_hash": "default_v0"} \ No newline at end of file diff --git a/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/meta_tags.csv b/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/meta_tags.csv new file mode 100644 index 0000000..ab2ef3f --- /dev/null +++ b/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/meta_tags.csv @@ -0,0 +1,8 @@ +key,value +step,5 +features,6 +size,9 +latent_dim,2 +model,AE_Model +refresh,False +future_predictions,False diff --git a/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/metrics.csv b/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/metrics.csv new file mode 100644 index 0000000..ae78b1d --- /dev/null +++ b/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/metrics.csv @@ -0,0 +1,2 @@ +loss,epoch,created_at +1.454,0.0,2019-09-29 10:41:14.039965 diff --git a/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/tf/events.out.tfevents.1569753327.Mainframe.12412.0 b/output/AE_Model/Sun_Sep_29_12-35-27_2019/default/version_0/tf/events.out.tfevents.1569753327.Mainframe.12412.0 new file mode 100644 index 0000000000000000000000000000000000000000..6e2962078783f89da8a51fd3344e688a72bfebb2 GIT binary patch literal 366 zcmb1OfPlsI-b$P+fB&^sO1bVR#hX-=n3<>NT9%quVr5idvPkzKR2}nnkBOYGXY)(~ zsnfd3$aRU4OC+Npu_!UOSidB-q9ne!G&eV~sM2XYBL}+>ix3kBqtg;bWiU`kNli;E z%_-4QC`&CW&dkqKFyPYF)#ZXndQ=vq7J*GlEdfe%!I?E>i8-aIT)H*7T*W1+1vREz zX{m`NrA4X5HD+AJnN_JZmRvcBB|x{vr)1{V7;)w1r=;f8IJ(CBf*4#yscAs988vQ+ zImM}5X{8{o@dZVxDVfP7Kt~iqCA>Je*tl3geh}VKK3@vzVWHVKbUDxTHGw@Wz^KK` w#m&W%lV4mcx<+P~{XI^BgVIoyQoQqokyY|>@o=%G7UU;qh=No^Bpq1+0FF6vt^fc4 literal 0 HcmV?d00001 diff --git a/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/meta.experiment b/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/meta.experiment new file mode 100644 index 0000000..e991626 --- /dev/null +++ b/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/meta.experiment @@ -0,0 +1 @@ +{"name": "default", "version": 0, "tags_path": "C:\\Users\\steff\\Google Drive\\LMU\\Research\\ae_toolbox_torch\\output\\AE_Model\\Sun_Sep_29_12-44-13_2019\\default\\version_0/meta_tags.csv", "metrics_path": "C:\\Users\\steff\\Google Drive\\LMU\\Research\\ae_toolbox_torch\\output\\AE_Model\\Sun_Sep_29_12-44-13_2019\\default\\version_0/metrics.csv", "autosave": false, "description": null, "created_at": "2019-09-29 10:44:13.614075", "exp_hash": "default_v0"} \ No newline at end of file diff --git a/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/meta_tags.csv b/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/meta_tags.csv new file mode 100644 index 0000000..655a21b --- /dev/null +++ b/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/meta_tags.csv @@ -0,0 +1,8 @@ +key,value +step,5 +features,6 +size,9 +latent_dim,2 +model,AE_Model +refresh,False +future_predictions,True diff --git a/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/metrics.csv b/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/metrics.csv new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/metrics.csv @@ -0,0 +1 @@ + diff --git a/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/tf/events.out.tfevents.1569753853.Mainframe.6536.0 b/output/AE_Model/Sun_Sep_29_12-44-13_2019/default/version_0/tf/events.out.tfevents.1569753853.Mainframe.6536.0 new file mode 100644 index 0000000000000000000000000000000000000000..fbbfc697ef5d7a847f7e75a6ef4290c91f912030 GIT binary patch literal 280 zcmb1OfPlsI-b$Qob?N(+Qm#8n@g@}|X6EU+mZj#ESQ$k=P%U@>Rj2LAx1IBto#_FP zI;|^=To)O+L^28zixP8-^-EGKO5%%4b8{1mDxKCba0(5J9N@i}25m#=0N@`Axqieh`h{08qng&#xQR9}F pQ=H0`RtnM@Ur>~ql9^lrbVPAYNDzAZfl*AX8=H@0ARXVL>#*C{tvnsX5k}D^%1nAcIl+4^3Bd*;1l+>IWN7r~?5QD2IH4UgXqsA>U zr#O`>trVm+zMv>IB{R7M=!oK)kRqV*UL0I(Tr40jv_EJSmV)|MX!Z?VPSb|@VE+m* zYVmS$bFt*)7Z;0en!DcqQlZysX{bsm-g&~vD*3p0xL8vQ@{=<}K`MN_Z)l+?ZMr`x pTp1XM0-KqUOtsw7VfV4K^|=hx)Ds7%%5owrMKQL)J|{gY005P6i0J?T literal 0 HcmV?d00001 diff --git a/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/meta.experiment b/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/meta.experiment new file mode 100644 index 0000000..c04bdc7 --- /dev/null +++ b/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/meta.experiment @@ -0,0 +1 @@ +{"name": "default", "version": 0, "tags_path": "C:\\Users\\steff\\Google Drive\\LMU\\Research\\ae_toolbox_torch\\output\\SAAE_Model\\Sun_Sep_29_12-54-18_2019\\default\\version_0/meta_tags.csv", "metrics_path": "C:\\Users\\steff\\Google Drive\\LMU\\Research\\ae_toolbox_torch\\output\\SAAE_Model\\Sun_Sep_29_12-54-18_2019\\default\\version_0/metrics.csv", "autosave": false, "description": null, "created_at": "2019-09-29 10:54:18.863108", "exp_hash": "default_v0"} \ No newline at end of file diff --git a/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/meta_tags.csv b/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/meta_tags.csv new file mode 100644 index 0000000..de0d382 --- /dev/null +++ b/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/meta_tags.csv @@ -0,0 +1,8 @@ +key,value +step,5 +features,6 +size,9 +latent_dim,2 +model,SAAE_Model +refresh,False +future_predictions,True diff --git a/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/metrics.csv b/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/metrics.csv new file mode 100644 index 0000000..83d13f1 --- /dev/null +++ b/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/metrics.csv @@ -0,0 +1,48 @@ +loss,epoch,created_at +0.471,0.0,2019-09-29 10:54:25.127533 +0.076,1.0,2019-09-29 11:04:46.930249 +0.069,2.0,2019-09-29 11:14:02.826272 +0.089,3.0,2019-09-29 11:23:11.776641 +0.068,4.0,2019-09-29 11:32:19.540023 +0.066,5.0,2019-09-29 11:41:27.129607 +0.067,6.0,2019-09-29 11:50:33.679401 +0.071,7.0,2019-09-29 11:59:38.747566 +0.068,8.0,2019-09-29 12:08:46.713434 +0.067,9.0,2019-09-29 12:17:55.462982 +0.07,10.0,2019-09-29 12:27:03.690029 +0.066,11.0,2019-09-29 12:36:10.274328 +0.066,12.0,2019-09-29 12:45:17.844777 +0.064,13.0,2019-09-29 12:54:25.440055 +0.064,14.0,2019-09-29 13:03:32.662178 +0.063,15.0,2019-09-29 13:12:39.334202 +0.063,16.0,2019-09-29 13:21:45.282941 +0.063,17.0,2019-09-29 13:30:50.702369 +0.062,18.0,2019-09-29 13:39:56.479320 +0.062,19.0,2019-09-29 13:49:03.009732 +0.062,20.0,2019-09-29 13:58:09.206604 +0.062,21.0,2019-09-29 14:07:16.674273 +0.062,22.0,2019-09-29 14:16:32.081830 +0.061,23.0,2019-09-29 14:25:47.816996 +0.061,24.0,2019-09-29 14:34:59.053729 +0.061,25.0,2019-09-29 14:44:12.326646 +0.061,26.0,2019-09-29 14:53:20.545392 +0.061,27.0,2019-09-29 15:02:29.076439 +0.061,28.0,2019-09-29 15:11:40.214715 +0.061,29.0,2019-09-29 15:20:47.708415 +0.061,30.0,2019-09-29 15:29:55.151460 +0.061,31.0,2019-09-29 15:39:02.450643 +0.061,32.0,2019-09-29 15:48:13.678387 +0.061,33.0,2019-09-29 15:57:22.619685 +0.061,34.0,2019-09-29 16:06:32.276767 +0.061,35.0,2019-09-29 16:15:39.175331 +0.061,36.0,2019-09-29 16:24:48.090009 +0.061,37.0,2019-09-29 16:33:53.686359 +0.061,38.0,2019-09-29 16:43:01.209447 +0.061,39.0,2019-09-29 16:52:09.086088 +0.061,40.0,2019-09-29 17:01:17.997290 +0.06,41.0,2019-09-29 17:10:24.687865 +0.061,42.0,2019-09-29 17:19:33.252531 +0.061,43.0,2019-09-29 17:28:40.294962 +0.06,44.0,2019-09-29 17:37:50.408505 +0.06,45.0,2019-09-29 17:46:57.046547 +0.06,46.0,2019-09-29 17:56:05.325744 diff --git a/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/tf/events.out.tfevents.1569754458.Mainframe.12296.0 b/output/SAAE_Model/Sun_Sep_29_12-54-18_2019/default/version_0/tf/events.out.tfevents.1569754458.Mainframe.12296.0 new file mode 100644 index 0000000000000000000000000000000000000000..eb1f3364f0bc727ba463fb56771bdfd7f48d8fa7 GIT binary patch literal 4387 zcmZA4c~BE)0LEcZKv+cqv0mt)B1brj%3+DkuHb>`YQ=G^TC3n#1{58{qiE4i#e?##O#8i?zcP~_Pu~4VGRYXD54Vy{ z3np8Ht*>1%MbXTTvs|N*$FBDX((~(eGrhwfM6ve=x+K0}i-oG?n=sNzZW}W2qAYF4IkZK#~9|wm0F&OP9T3Aq1Nz<*eG5946Pwl z)Bgm)=8PF*LM~!$USs&Ufh)EtY;m{P>@qK$T(On0#F81xm?%|R?Wiut7qjA9M>UNf zD92eI9!ZzOnPH46uU19Hj3UMJKh9=B>XUK4M?g;vrqqtILg}U8X}xv>YE#3$2^Mq; zY}%)XFGalsw)9?2ssq{j(2Qc+7H3Is|9br`uyhKnk!;5Zogc6%H7|xtC2Sr;vBg1W zq;W+qJg{^MtW37w@uTO!*5};cEwGm@DR%$tOsOHl;0P?80-Gl5-6$^tHf2H6SVyw< zjTOZXa@{ViX*gsDES&;-L>6ItXcw?cljDj7w#t@b7y4#M57)l+0hUgIt(P5J9c%}z zeam+eC$hF}G{tITa;3W$e*FSiIt8{}rnp+&25eVF)hU6^9Z#|3Y}fTw9t4(7fi+?a z{F9S`-F&n)z?rOVoJg_c5Mphe)&NVVz*@1cu}@|Jt9E&MQD9$9qF9$zIZ~&N%U6M= zQ(*1cj)k2QfX&O!UF1U6mQSTv@=6FC5qAz)ItA8??GDiY0&I(wzFA=JIE&b-I@6uN z(kZYqc9HcR39xN0t0E<2ZKfN=s%+Awp^rYp&jdOJb_u&v5t0w=B)OzZVCy_ZY=-sE z8(}S-0vpM$No>ymc5l?J4X$Kuw>QO3HQOvrf8QPfES&?*xs|5DU_+`BUd(=n7 z+7~yffTdGl(^#e|y&BlVJ;%4Wk+nDdMQm2|BV_3m*d6Rk)5bbrJ*p-SbtmjLDaD@Y zNs)d#vh7n?OQ*o@W;ewbI036Is^259wK5Ug-JE9zES&OoA@e#4RLZU6WGGJBKEQO`5%F$Q(!Atvy6%9z}5zsdU=wySA#|D z%M}NVfTdGltJ%+IIje!Kod5Ei!1jeu?3BBS(!Gw!?|`LKV9&COv0?aj2vIi%dXcp! zmx@^5@;g1i(kZa@Y|`SAMp(PE+4h>ic7%%9zv9aEz&3UMp90&&W}UlN0PN|`$>AT9 zwfn+F?0kLiSHRLKu-929NkA>IiU)!B1oqNO5t~|iVlc3D3Tz9@nB3?AwzJMM&YP@# zy;{UJ|Mor~SULr^o&CMlXe6-5S3K(x*vd5`w&L+RKVaz;*hlPpW7lk8cbvRzm`2vN z@*?)>g)gQ9OQ*m-XSXh!G#c3O=7Xlw37ZouV&`;Q{|PLe0{ah}vf+3Yu-~tX%MsWH zrHIWQ{^d`=(kZY;T#)jZ9@y@R@-Z{W+8&jNy&iVW30OJ>)`T0q$M6u?tTWcd0$ZjP zv9F?bUjdd*fi>p>XO#D}bH){EGXxe-Oc(kZaRxacP_VZfffU|J)v8A&46 zHFy{P%jgtXD=zr#aXf@Y&*B1n$=dTNB35HK6bWnT6j)oXEHm{ewENeFTol-6Y4k50 z^2xYyt)1tDf!`#No^4YspapmgXS-k!j!4`Rw8)R_E!rxEz5hOW4`65kw&NN@TTa2^ zLpL`y3-FEYV%Q_~bw0q*0&LG6FmSE__nEpy`jf@!nKYbpAwin^Lxuyu&;snhEr08< z3*aP|C0zo1I-7>c8Bd$6E(I7`fStKkX#sw7t8BN?%p{9DbH#AcXqg0HXaRQP3b$on zg2k^K4!jZIf_*ehj>0^xC0rukVY6_MDT-?iT{e&#Ok}rl;7l(%d3@yOZIhV`^ f4ZwXZp_Tyzepe`lg93AJ0Sqm`e%wlr1B!nEdWFyk literal 0 HcmV?d00001 diff --git a/run_models.py b/run_models.py index 0a78648..e2a1762 100644 --- a/run_models.py +++ b/run_models.py @@ -22,9 +22,9 @@ args.add_argument('--step', default=5) args.add_argument('--features', default=6) args.add_argument('--size', default=9) args.add_argument('--latent_dim', default=2) -args.add_argument('--model', default='AE_Model') +args.add_argument('--model', default='SAAE_Model') args.add_argument('--refresh', type=strtobool, default=False) -args.add_argument('--future_predictions', type=strtobool, default=False) +args.add_argument('--future_predictions', type=strtobool, default=True) class AE_Model(AutoEncoder_LO, LightningModule): @@ -102,7 +102,7 @@ if __name__ == '__main__': trainer = Trainer(experiment=exp, max_nb_epochs=250, gpus=[0], - add_log_row_interval=1000, + row_log_interval=1000, # checkpoint_callback=checkpoint_callback ) diff --git a/viz/output.png b/viz/output.png deleted file mode 100644 index 2e3f1ad32caeaf6b35460d463b0870a2141e04bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55875 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
    &zu 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