Apprentissage du RNSR avec répartition géographique - essai avec DVC
.dvc | 8 months ago | ||
.vscode | 8 months ago | ||
bin | 8 months ago | ||
data | 8 months ago | ||
dvc_plots | 8 months ago | ||
libs | 8 months ago | ||
.dvcignore | 8 months ago | ||
.gitignore | 8 months ago | ||
README.md | 8 months ago | ||
dvc.lock | 8 months ago | ||
dvc.yaml | 8 months ago | ||
package-lock.json | 8 months ago | ||
package.json | 8 months ago | ||
params.yaml | 8 months ago | ||
precision.json | 8 months ago | ||
precision.tsv | 8 months ago |
Apprentissage du RNSR avec répartition géographique - essai avec DVC.
Voir les travaux précédents: https://gitbucket.inist.fr/parmentf/rnsr-ml.
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).
$ 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).
$ 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:
dvc config core.autostage true
Pour initialiser le fichier dvc.yaml
, générant les expériences, 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.
dvc dag --mermaid
(ou dvc dag --md
) permet de visualiser ça (dans VSCode, il y a l'extension Markdown Preview Mermaid Support):
flowchart TD node1["data/addresses-40-cnrs-rnsr-big-classes-test.txt.dvc"] node2["data/addresses-40-cnrs-rnsr-big-classes-train.txt.dvc"] node3["data/netscity-ville-aire-uniq.tsv.dvc"] node4["extract-areas@test"] node5["extract-areas@train"] node6["prepare@test"] node7["prepare@train"] node8["split"] node9["train"] node1-->node6 node2-->node7 node3-->node6 node3-->node7 node4-->node9 node5-->node8 node5-->node9 node6-->node4 node6-->node8 node7-->node5 node7-->node8 node8-->node9
Et avec dvc dag --outs --md
:
flowchart TD node1["areas"] node2["data/addresses-40-cnrs-rnsr-big-classes-test.txt"] node3["data/addresses-40-cnrs-rnsr-big-classes-train.txt"] node4["data/area-address-test.tsv"] node5["data/area-address-train.tsv"] node6["data/areas-test.txt"] node7["data/areas-train.txt"] node8["data/netscity-ville-aire-uniq.tsv"] node9["models"] node1-->node9 node2-->node4 node3-->node5 node4-->node1 node4-->node6 node5-->node1 node5-->node7 node6-->node9 node7-->node1 node7-->node9 node8-->node4 node8-->node5
Note: DAG signifie Directed Acyclic Graph (ou Graphe Orienté Acyclique).
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.