Utilisation de GNU parallel pour executer un programme python
Bonjour à tous,
J'ai un programme python qui me fait du traitement d'image et je souhaite automatiser un peu tout ça puisqu'un traitement dure à l'heure actuelle une vingtaine de minutes.
J'ai utilisé GNU Parallel pour me permettre d'avoir quelque chose du genre
Code:
1 2
|
parallel "monprogramme --option1 --option2 --option3=2" ::: *.tif |
Ce qui me permet de lancer mon programme sur tous les fichiers tif du folder.
Maintenant le problème c'est que pour un seul fichier je souhaite modifier la valeur d'option3 et enregistrer tout ça dans des dossiers séparés.
J'ai déjà essayé pas mal de choses:
Code:
1 2
|
parallel -- results outputdir "monprogramme --option1 --option2 --option3={.}" ::: {1.10} |
Ceci ne fonctionne pas il n'enregistre pas les outputs dans le bon dossier du coup chaque output écrase l'ancien dans le répertoire courant.
J'ai pensé mettre tout ceci dans une grosse boucle en faisant un parallel d'un for mais j'ai peur que ce soit compliqué et inutile. J'ai aussi envisagé quelque chose comme
Code:
1 2
|
parallel --results outputdir "mkdir output{} | cd output{}/ | monprogramme --option1 --option2 --option3={} | cd .." |
mais ça me parait complètement stupide même si ça permet peut-être de bien voir ce que je souhaite faire.
J'ai tenté également avec un mv après le code dans parallel mais je ne sais pas si c'est utile, j'ai peur qu'il y ait une différence entre l'itération réelle et celle du calcul parallèle.
Si quelqu'un connait un petit GNU parallel ou même les script shell je suis preneur.
Merci !