Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/06/2016, à 20:10

crasse2

[Résolu] faire boucler une commande / batch

bonjour  !

je debute tout fraichement sur ubuntu, depuis quelque jours, (je me suis mis pour jouer avec le neural-style, ou "Neural Algorithm of Artistic Style" qui permet de faire des experiences tout à fait fascinante sur des images en apprenant en sommes au gpu un "modele artistique" issu d'une image et en lui faisant appliquer a une autre) bref ! c'etait une bonne occasion d'essayer linux (vu que cela tourne que sur linux, .. et osx il me semble mais j'ai pas de mac)

et tout va bien ! pour le moment j'ai pas cassé trop de choses, et je me suis pas arraché trop de cheveux, je m'amuse plutot bien et je suis arrivé a faire pour le moment, tout ce que je souhaitais, ce qui est plutot positif, mais me voila devant un probleme que je n'arrive pas a résoudre, et en cherchant bien internet, je n'ai pas trouvé de réponse claire (en tout cas suffisamment pour moi smile )

bref (présentation terminé, passant au contenu meme de mon probleme) :

le neural-style s'execute a travers le fichier neural-style.lua de la sorte (j'ai hoté les parametre non relatif a mon probleme) :

th neural_style.lua \                                                                                   
-style_image ~/images_NS/Art_Content/miro01.jpg \               (l'image source)
-content_image ~/images_NS/source/hh01.jpg \                      (l'image de contenu)
-output_image ~/images_NS/video/frames_HH_output/hhtest.png         (et le melange ainsi créé)
... + d'autres parametres de reglages, mais je vais pas tout coller, ça rendra pas les choses plus claires

donc de cette maniere la, tout va bien, j'execute cette commande dans le terminal et j'ai ma nouvelle image !

mais voila, j'ai dans l'idée de batcher cette commande sur un grand nombre d'images de contenu (une sequence jpg)
pour ce faire j'ai converti une petite sequence video en suite d'image jpg a l'aide de ffmpeg
je me retrouve donc avec 100 images dans un dossier (image_00001.jpg, image_00002.jpg ... image_00100.jpg)

du coup apres avoir cherché un peu à droite et à gauche je suis arrivé a cette commande :

for a in 'seq -w 001 100'; do
th neural_style.lua \
-style_image ~/images_NS/Art_Content/misc08.jpg \
-content_image ~/images_NS/video/frames_HH/image-00_$a.jpg \
-output_image ~/images_NS/video/frames_HH_output/image_out-00_$a.png \
.... + autres parametres 

mais voila le probleme c'est qu'il ne se passe rien lorsque je l'execute, neural_style.lua ne se lance pas dans le terminal.
les chemins d'accés sont bons, j'ai créé un nouveau dossier vide pour l'ouput.
Alors je me dis que c'est la syntax du "remplacement/recherche" de la variable "a" qui doit cafouiller avec mes noms de fichiers image peut etre, mais j'ai pas trouvé de solutions pour le moment hmm

quelqu'un aurait-il une idée de ce qui pourrait coincer ici ?

Dernière modification par crasse2 (Le 28/06/2016, à 12:50)

Hors ligne

#2 Le 27/06/2016, à 20:28

pingouinux

Re : [Résolu] faire boucler une commande / batch

Bonsoir,

for a in `seq -w 001 100`; do

ou

for a in $(seq -w 001 100); do

ou

for a in {001..100}; do

Ajouté :
Si le nom des images est tel que tu l'indiques, c'est

-content_image ~/images_NS/video/frames_HH/image_00$a.jpg \

Dernière modification par pingouinux (Le 27/06/2016, à 20:34)

Hors ligne

#3 Le 27/06/2016, à 23:00

crasse2

Re : [Résolu] faire boucler une commande / batch

salut !

merci pingouinix ! effectivement j'avais mal lu la syntax de la boucle for (je l'encadrais d'apostrophes au lieu des accents, enfin au final j'ai opté pour la version $(...) que je trouve plus commode a tapper.

effectivement j'avai aussi mal reporté le nom de mes images source comme un âne, j'ai corrigé

j'ai ensuite passé 35 minutes a regarder ce petit bout de code ne pas fonctionner sans en connaitre la raison, avant de me rendre compte qu'a un moment j'avais retiré par erreur le "; done" a la fin, sans l'avoir remis après ...

bref tout ceci corrigé, cela fonctionne !

encore merci pour ton aide big_smile

Dernière modification par crasse2 (Le 27/06/2016, à 23:01)

Hors ligne

#4 Le 28/06/2016, à 05:53

pingouinux

Re : [Résolu] faire boucler une commande / batch

N'oublie pas de modifier ton premier message et d'ajouter [Résolu] dans le titre.

Hors ligne