Je reçois une erreur dans WSL en essayant d'utiliser junyanz / pytorch-CycleGAN-and-pix2pix .
J'ai suivi toutes les étapes d'installation avec succès sur Windows 10 x64 en utilisant les étapes de PyTORCH sur Windows 10: Une instruction avec des captures d'écran , puis Ubuntu pour Windows avec le bureau GitHub Comment installer et utiliser le shell Linux Bash sur Windows 10 .
Mais je suis bloqué aux dernières étapes.
C'est là que j'essaie de télécharger ou d'entraîner le modèle sous Windows. En utilisant par exemple l'invite Ubuntu Linux, je navigue manuellement jusqu'à l'endroit approprié et saisis une commande suivante comme celle ci-dessous (j'ai également essayé en mode su)
bash pretrained_models/download_pix2pix_model.sh facades_label2photo
J'obtiens une erreur immédiate, toujours la même, similaire à celles-ci:
root@Azure:/mnt/c/Users/vincent/Downloads/vision/pytorch-CycleGAN-and-pix2pix# bash pretrained_models/download_pix2pix_model.sh facades_label2photo
pretrained_models/download_pix2pix_model.sh: line 2: $'\r': command not found
Note: available models are edges2shoes, sat2map, and facades_label2photo
pretrained_models/download_pix2pix_model.sh: line 4: $'\r': command not found
]pecified [facades_label2photo
pretrained_models/download_pix2pix_model.sh: line 6: $'\r': command not found
mkdir: cannot create directory ‘./checkpoints/facades_label2photo\r_pretrained\r’: No such file or directory
pretrained_models/download_pix2pix_model.sh: line 10: $'\r': command not found
WARNING: timestamping does nothing in combination with -O. See the manual
for details.
: No such file or directoryhphoto
pretrained_models/download_pix2pix_model.sh: line 12: $'\r': command not found
pretrained_models/download_pix2pix_model.sh: line 13: $'\r': command not found
Une idée?
la source
$'\r': command not found
suggère fortement que le problème est que vous avez utilisé un éditeur de texte Windows qui a enregistré vos fichiers avec des fins de ligne CRLF de style DOS - voir par exemple DOS vs Unix Line Endingspretrained_models/download_pix2pix_model.sh
git clone
dans le système WSL et à ne pas déployer d'efforts supplémentaires pour convertir chaque fichier. Si l'objectif est d'installer un logiciel dans Ubuntu, il n'y a aucune raison de le télécharger en dehors de son système de fichiers en premier.Réponses:
À l'intérieur du WSL:
sudo apt-get install dos2unix
Ensuite,
dos2unix [file]
Documentation complète:
man dos2unix
J'ai sauvé ma journée, j'espère que ça aide.
la source
wsl dos2unix deploy.sh
depuis Powershell, et maintenant, chaque fois que je tape,wsl ./deploy.sh
tout fonctionne parfaitement! Merci beaucoup.steeldriver a raison : le problème est que vous avez des fichiers avec des fins de ligne Windows et que
bash
vous ne pouvez pas les exécuter.$'\r'
est une représentation du caractère de retour chariot (CR) qui fait partie des fins de ligne DOS et Windows traditionnelles (CR LF), mais qui est absent dans les fins de ligne traditionnelles de style Unix (LF).Comme vous le dites , vous tapez la commande pour tenter d'exécuter le script
bash
, mais notez que le script est réellement stocké en dehors de votre système Ubuntu (WSL), dans votre répertoire de téléchargement Windows :Les chemins WSL qui commencent par
/mnt/c
, oùc
peut être n'importe quelle lettre de lecteur Windows, sont des chemins qui accèdent aux fichiers et répertoires en dehors du système Ubuntu. En tant que chemin Windows, c'est:Le fait qu'un fichier soit stocké dans votre système Windows en dehors de la zone où Ubuntu est installé ne garantit pas qu'il utilise le style Windows au lieu des fins de ligne de style Unix. Cependant, si vous avez téléchargé les fichiers avec Git dans Windows , sa configuration par défaut est de vous donner des fins de ligne de style Windows.
Le moyen le plus simple de résoudre le problème est vraiment de simplement télécharger les fichiers dont vous avez besoin dans le système Ubuntu à partir de votre
bash
invite. Je vous recommande de mettre à jour complètement le système Ubuntu, puis de l'installergit
dans Ubuntu, ainsi que debuild-essential
fournir les outils utiles dont vous avez besoin pour compiler la plupart des logiciels à partir du code source. Pour les programmes Python, vous n'aurez peut-être pas besoinbuild-essential
; vous pouvez l'omettre si vous le souhaitez, mais je pense que vous finirez par en avoir besoin à un moment donné.Utilisez ensuite la
cd
commande pour accéder à un répertoire dans lequel vous souhaitez télécharger le logiciel. Cela devrait être un répertoire de votre système Ubuntu. Par exemple, ce pourrait être votre répertoire personnel Ubuntu ou quelque part à l'intérieur. Une fois sur place, clonez le référentiel depuis GitHub. Je l'ai fait dans lesrc
répertoire que j'ai créé dans mon répertoire personnel.Bien sûr, vous devrez probablement installer les dépendances en premier. Pour ce faire, il suffit de suivre toutes les instructions officielles . Effectuez toutes ces étapes dans le système Ubuntu.
la source