# rnsr-geo-ml-dvc Apprentissage du RNSR avec répartition géographique - essai avec DVC. Voir les travaux précédents: <https://gitbucket.inist.fr/parmentf/rnsr-ml>. ## DVC ### Initialisation La documentation de l'extension DVC de VSCode dit que pour initialiser le dépôt il faut taper `dvc exp init -i`, mais ça ne marche pas avec ma version de DVC (qui est apparemment plus récente que ce à quoi s'attend l'extension). ```bash $ dvc init Initialized DVC repository. You can now commit the changes to git. +---------------------------------------------------------------------+ | | | DVC has enabled anonymous aggregate usage analytics. | | Read the analytics documentation (and how to opt-out) here: | | <https://dvc.org/doc/user-guide/analytics> | | | +---------------------------------------------------------------------+ What's next? ------------ - Check out the documentation: <https://dvc.org/doc> - Get help and share ideas: <https://dvc.org/chat> - Star us on GitHub: <https://github.com/iterative/dvc> ``` Cette commande a créé: - `.dvcignore` - `.dvc` - `.gitignore` - `config` Alors que l'installation de l'extension VSCode a ajouté: - `.vscode` - `settings.json` Pour créer un remote, je tape `dvc remote add -d local /home/parmentf/data/dvc`. Il faut juste que le répertoire existe (et soit vide ou déjà consacré à ça). ### Ajout de fichier ```bash $ dvc add data/netscity-ville-aire-uniq.tsv 100% Adding...|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████|1/1 [00:00, 20.28file/s] To track the changes with git, run: git add data/netscity-ville-aire-uniq.tsv.dvc data/.gitignore To enable auto staging, run: dvc config core.autostage true ``` Donc, si on veut se simplifier la vie sur les ajouts suivants: ```bash dvc config core.autostage true ``` ### Experiments Pour initialiser le fichier `dvc.yaml`, générant les [expériences](https://dvc.org/doc/start/experiments), on peut utiliser `dvc exp init --interactive`. Pour lancer le _pipeline_ d'une expérience, il suffit de faire `dvc repro`. Les fichiers résultats `outs` d'un _stage_ (une étape) sont automatiquement ajoutés à DVC. ### Diagram `dvc dag --mermaid` (ou `dvc dag --md`) permet de visualiser ça (dans VSCode, il y a l'extension [Markdown Preview Mermaid Support](https://marketplace.visualstudio.com/items?itemName=bierner.markdown-mermaid)): ```mermaid flowchart TD node1["data/addresses-40-cnrs-rnsr-big-classes-test.txt.dvc"] node3["data/netscity-ville-aire-uniq.tsv.dvc"] node2["data/addresses-40-cnrs-rnsr-big-classes-train.txt.dvc"] node4["extract-areas@test"] node5["extract-areas@train"] node6["prepare@test"] node7["prepare@train"] node8["split"] node1-->node6 node2-->node7 node3-->node6 node3-->node7 node5-->node8 node6-->node4 node7-->node5 node7-->node8 ``` ## Aires géographiques Le `split` donne 100 aires géographiques, dont plus de 50 avec moins de 40 adresses. On les rassemble donc dans `areas/GatheredLittleAreas`, ce qui laisse 48 aires (dont celle-ci) avec au moins 40 (inclus) aires.