Alexander Engelsberger
1a17193b35
ci: add github actions ( #16 )
...
* chore: update pre-commit versions
* ci: remove old configurations
* ci: copy workflow from prototorch
* ci: run precommit for all files
* ci: add examples CPU test
* ci(test): failing example test
* ci: fix workflow definition
* ci(test): repeat failing example test
* ci: fix workflow definition
* ci(test): repeat failing example test II
* ci: fix test command
* ci: cleanup example test
* ci: remove travis badge
2022-01-11 18:28:50 +01:00
Jensun Ravichandran
62c5974a85
fix: correct typo in example script
2021-11-17 15:01:38 +01:00
Christoph
4232d0ed2a
fix: spelling issues for previous commits
2021-11-15 11:43:39 +01:00
Christoph
a9edf06507
feat: ImageGTLVQ and SiameseGTLVQ with examples
2021-11-15 11:43:39 +01:00
Christoph
d3bb430104
feat: gtlvq with examples
2021-11-15 11:43:39 +01:00
Alexander Engelsberger
6ffd27d12a
chore: Remove PytorchLightning CLI related code
...
Could be moved in a seperate plugin.
2021-10-11 15:16:12 +02:00
Alexander Engelsberger
d7ea89d47e
feat: add simple test step
2021-09-10 19:19:51 +02:00
Jensun Ravichandran
fa928afe2c
feat(vis): 2D EV projection for GMLVQ
2021-09-01 10:49:57 +02:00
Jensun Ravichandran
4be9fb81eb
feat(model): implement MedianLVQ
2021-07-06 17:12:51 +02:00
Jensun Ravichandran
9d38123114
refactor: use GLVQLoss
instead of LossLayer
2021-07-06 17:09:21 +02:00
Jensun Ravichandran
0f9f24e36a
feat: add early-stopping and pruning to examples/warm_starting.py
2021-06-30 16:04:26 +02:00
Alexander Engelsberger
7b9b767113
fix: training loss is a zero dimensional tensor
...
Should fix the problem with EarlyStopping callback.
2021-06-25 17:07:06 +02:00
Jensun Ravichandran
a1d9657b91
test: remove examples/liramlvq_tecator.py
temporarily
2021-06-21 16:13:41 +02:00
Alexander Engelsberger
2b2e4a5f37
fix: examples/ng_iris.py
2021-06-21 14:59:54 +02:00
Jensun Ravichandran
72404f7c4e
fix: examples/gmlvq_mnist.py
2021-06-21 14:42:28 +02:00
Jensun Ravichandran
d42693a441
refactor(api)!: merge the new api changes into dev
2021-06-20 19:00:12 +02:00
danielstaps
0a2da9ae50
Added Vis for GMLVQ with more then 2 dims using PCA ( #11 )
...
* Added Vis for GMLVQ with more then 2 dims using PCA
* Added initialization possibility to GMlVQ with PCA and one example with omega init + PCA vis of 3 dims
* test(githooks): Add githooks for automatic commit checks
Co-authored-by: staps@hs-mittweida.de <staps@hs-mittweida.de>
Co-authored-by: Alexander Engelsberger <alexanderengelsberger@gmail.com>
2021-06-18 13:28:11 +02:00
Alexander Engelsberger
8956ee75ad
test(githooks): Add githooks for automatic commit checks
2021-06-16 16:16:34 +02:00
Jensun Ravichandran
a37095409b
[BUGFIX] examples/cbc_iris.py
works again
2021-06-15 15:59:47 +02:00
Jensun Ravichandran
1b420c1f6b
[BUG] LVQ1 is broken
2021-06-14 21:08:05 +02:00
Jensun Ravichandran
7ec5528ade
[BUGFIX] examples/lvqmln_iris.py
works again
2021-06-14 21:00:26 +02:00
Jensun Ravichandran
a44219ee47
[BUG] PLVQ seems broken
2021-06-14 20:56:38 +02:00
Jensun Ravichandran
24ebfdc667
[BUGFIX] examples/siamese_glvq_iris.py
works again
2021-06-14 20:44:36 +02:00
Jensun Ravichandran
1c658cdc1b
[FEATURE] Add warm-starting example
2021-06-14 20:42:57 +02:00
Jensun Ravichandran
1911d4b33e
[BUGFIX] examples/lgmlvq_moons.py
works again
2021-06-14 20:34:46 +02:00
Jensun Ravichandran
6197d7d5d6
[BUGFIX] examples/dynamic_pruning.py
works again
2021-06-14 20:31:39 +02:00
Jensun Ravichandran
d2856383e2
[BUGFIX] examples/gng_iris.py
works again
2021-06-14 20:29:31 +02:00
Jensun Ravichandran
4eafe88dc4
[BUGFIX] examples/ksom_colors.py
works again
2021-06-14 20:23:07 +02:00
Jensun Ravichandran
3afced8662
[BUGFIX] examples/glvq_spiral.py
works again
2021-06-14 20:19:08 +02:00
Jensun Ravichandran
68034d56f6
[BUGFIX] examples/glvq_iris.py
works again
2021-06-14 20:13:25 +02:00
Alexander Engelsberger
c87ed5ba8b
[FEATURE] Add PLVQ model
2021-06-12 13:02:26 +02:00
Jensun Ravichandran
ea33196a50
Update SOM example
2021-06-11 11:30:27 +02:00
Jensun Ravichandran
57f8bec270
Update SOM
2021-06-09 18:21:12 +02:00
Jensun Ravichandran
c7b5c88776
[WIP] Add SOM
2021-06-07 18:44:15 +02:00
Jensun Ravichandran
b031382072
Update NG
2021-06-07 18:35:08 +02:00
Jensun Ravichandran
b82bb54dbe
Add LGMLVQ example
2021-06-04 22:58:54 +02:00
Jensun Ravichandran
5d2a8226ce
Update example scripts
2021-06-04 22:21:28 +02:00
Jensun Ravichandran
20471bfb1c
[FEATURE] Update pruning callback to re-add pruned prototypes
2021-06-04 15:56:46 +02:00
Jensun Ravichandran
42d974e08c
No implicit learning rate scheduling
2021-06-04 15:55:06 +02:00
Jensun Ravichandran
b0df61d1c3
[BUGFIX] Fix examples/ng_iris.py
2021-06-03 16:34:48 +02:00
Alexander Engelsberger
47db1965ee
[BUGFIX] GNG Example
2021-06-03 15:42:54 +02:00
Alexander Engelsberger
5918f1cc21
[BUGFIX] CLI example documentation improved
2021-06-03 13:47:20 +02:00
Alexander Engelsberger
3b02d99ebe
[BUGFIX] Early stopping example works now
2021-06-03 13:38:16 +02:00
Jensun Ravichandran
64250d0938
[BUG] CLI example crashes
...
Running examples/cli/gmlvq.py crashes with:
```
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
~/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/utilities/parsing.py in __getattr__(self, key)
249 try:
--> 250 return self[key]
251 except KeyError as exp:
KeyError: 'distribution'
The above exception was the direct cause of the following exception:
AttributeError Traceback (most recent call last)
~/work/repos/prototorch_models/examples/cli/gmlvq.py in <module>
10
11
---> 12 cli = LightningCLI(GMLVQMNIST)
~/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/utilities/cli.py in __init__(self, model_class, datamodule_class, save_config_callback, trainer_class, trainer_defaults, seed_everything_default, description, env_prefix, env_parse, parser_kwargs, subclass_mode_model, subclass_mode_data)
168 seed_everything(self.config['seed_everything'])
169 self.before_instantiate_classes()
--> 170 self.instantiate_classes()
171 self.prepare_fit_kwargs()
172 self.before_fit()
~/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/utilities/cli.py in instantiate_classes(self)
211 self.config_init = self.parser.instantiate_subclasses(self.config)
212 self.instantiate_datamodule()
--> 213 self.instantiate_model()
214 self.instantiate_trainer()
215
~/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/utilities/cli.py in instantiate_model(self)
228 self.model = self.config_init['model']
229 else:
--> 230 self.model = self.model_class(**self.config_init.get('model', {}))
231
232 def instantiate_trainer(self) -> None:
~/work/repos/prototorch_models/prototorch/models/glvq.py in __init__(self, hparams, **kwargs)
307 def __init__(self, hparams, **kwargs):
308 distance_fn = kwargs.pop("distance_fn", omega_distance)
--> 309 super().__init__(hparams, distance_fn=distance_fn, **kwargs)
310 omega = torch.randn(self.hparams.input_dim,
311 self.hparams.latent_dim,
~/work/repos/prototorch_models/prototorch/models/glvq.py in __init__(self, hparams, **kwargs)
39 # Layers
40 self.proto_layer = LabeledComponents(
---> 41 distribution=self.hparams.distribution,
42 initializer=self.prototype_initializer(**kwargs))
43
~/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/utilities/parsing.py in __getattr__(self, key)
250 return self[key]
251 except KeyError as exp:
--> 252 raise AttributeError(f'Missing attribute "{key}"') from exp
253
254 def __setattr__(self, key, val):
AttributeError: Missing attribute "distribution"
```
2021-06-02 13:02:40 +02:00
Jensun Ravichandran
ef6bcc1079
[BUG] Early stopping does not seem to work
...
The early stopping callback does not work as expected, and crashes at the end of
max_epochs with:
```
~/miniconda3/envs/py38/lib/python3.8/site-packages/pytorch_lightning/trainer/callback_hook.py in on_train_end(self)
155 """Called when the train ends."""
156 for callback in self.callbacks:
--> 157 callback.on_train_end(self, self.lightning_module)
158
159 def on_pretrain_routine_start(self) -> None:
~/work/repos/prototorch_models/prototorch/models/callbacks.py in on_train_end(self, trainer, pl_module)
18 def on_train_end(self, trainer, pl_module):
19 # instead, do it at the end of training loop
---> 20 self._run_early_stopping_check(trainer, pl_module)
21
22
TypeError: _run_early_stopping_check() takes 2 positional arguments but 3 were given
```
2021-06-02 12:44:34 +02:00
Jensun Ravichandran
bdacc83185
[REFACTOR] Update examples/dynamic_pruning.py
2021-06-02 03:53:21 +02:00
Jensun Ravichandran
a3f5d7d113
Update docstring
2021-06-02 02:40:29 +02:00
Jensun Ravichandran
b2009bb563
[FEATURE] Add example to showcase dynamic pruning of prototypes
2021-06-02 02:36:37 +02:00
Jensun Ravichandran
398431e7ea
Remove examples/dynamic_components.py
2021-06-02 02:35:45 +02:00
Jensun Ravichandran
d46fe4a393
[WIP] Update CBC example
2021-06-02 00:45:33 +02:00