-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MàJ versions Pytorch et Pytorch-Geometric #105
Conversation
@MichelDaab @leavauchier Pour info, j'ai fait cette petite PR de mise à jour. Les versions n'avaient pas été updatées depuis deux ans au moins. Les tests passent en local, mais on a toujours des soucis avec la CICD - je soupconne à nouveau un problème de taille de la VM. Le problème est arrivé en changeant la version pour urllib3, mais c'est peut-être une coïncidence : changer les requirements oblige à reconstruire une nouvelle image, et boom la mémoire sature. Ca me semblerait bien qu'avant d'aller plus loin on trouve le problème... Histoire que les routines de déploiement soient opérationnelles quand on en a besoin. |
Es-tu sûr que le problème vient des requirements /nouvelle image / taille mémoire ? Pour faire la modif de Léa sur l'EPSG en décembre il me semble que j'ai dû faire refaire une image aussi (j'ai souvenir que le CICD a tourné pendant un long moment une fois), et il n'y a pas eu de problème inhabituel |
Alors ce que je sais c'est que c'est un problème de mémoire insuffisante au moment de la création de l'environnement dans l'image docker.
Ce code c'est un code de mémoire excedée. |
Il n'y a pas de swap actuellement
Mais on a un peu de marge pour ajouter un swap (7.4Go de dispo)
Ce que je ne saisis pas c'est que les images docker sur la machine semblent sommer à plus que ce qui est indiqué cmme utilisé ici
|
Peut-être que docker est sur /data, un autre disque que /dev ? |
Ah oui probablement !
|
La différence dans les métriques d'IoY à l'apprentissage s'explique par la MàJ de torchmetrics qui change le comportement de
Je vais donc reset les métriques manuellement, et vérifier qu'en poursuivant l'apprentissage on se retrouve avec les val IoU attendues. |
J'ai fait quelques tests de compilation de modèle (on peut encore gagner en performances, avec un facteur 1.5 à 2.5 !). |
4b6b2ae
to
9c6a1a6
Compare
@@ -217,11 +216,13 @@ def _run_test_right_after_training( | |||
tmp_paths_overrides = _make_list_of_necesary_hydra_overrides_with_tmp_paths( | |||
toy_dataset_hdf5_path, tmpdir | |||
) | |||
devices = "[0]" if accelerator == "gpu" else 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why enforcing it now? it looks like the previous versions could let you choose your gpu(s)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In previous versions GPU 0 was always used. This is just a small refactor due to a change of signature of trainer, which requires two params: accelerator
and devices
, and deprecates gpus.
I made the choice to always use the same gpu to be able to run tests locally with the possibility to willingly avoid conflict with other processes (on other gpus, not on gpu 0). But I just discovered that lightning can do that automatically:
https://lightning.ai/docs/pytorch/stable/accelerators/gpu_basic.html#find-usable-cuda-devices
So i'll update the test.
I made the requested changes @leavauchier |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Checks
Versions de l'env installé: