Beim Versuch, junyanz / pytorch-CycleGAN-and-pix2pix zu verwenden, wird in der WSL eine Fehlermeldung angezeigt .
Ich habe alle Installationsschritte unter Windows 10 x 64 mit den Schritten unter PyTORCH unter Windows 10 erfolgreich ausgeführt: Eine Anleitung mit Screenshots , dann Ubuntu für Windows mit GitHub-Desktop. Installieren und Verwenden der Linux Bash Shell unter Windows 10 .
Aber ich bin spätestens bei Schritten gesperrt.
Hier versuche ich, das Modell in Windows herunterzuladen oder zu trainieren. Ich benutze zum Beispiel die Ubuntu Linux-Eingabeaufforderung, navigiere manuell zur entsprechenden Stelle und tippe einen folgenden Befehl wie den folgenden (ich habe es auch im su-Modus versucht)
bash pretrained_models/download_pix2pix_model.sh facades_label2photo
Ich erhalte sofort einen Fehler, der immer derselbe ist, ähnlich dem Folgenden:
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
Irgendeine Idee?
quelle
$'\r': command not found
das Problem ist, dass Sie einen Windows-Texteditor verwendet haben, der Ihre Dateien mit CRLF-Zeilenenden im DOS-Stil gespeichert hat - siehe zum Beispiel DOS vs. Unix-pretrained_models/download_pix2pix_model.sh
git clone
innerhalb des WSL-Systems und keine zusätzlichen Anstrengungen zu unternehmen, um jede Datei zu konvertieren. Wenn das Ziel die Installation von Software in Ubuntu ist, gibt es keinen Grund, diese zuerst außerhalb des Dateisystems herunterzuladen.Antworten:
In der WSL:
sudo apt-get install dos2unix
Dann,
dos2unix [file]
Vollständige Dokumentation:
man dos2unix
Ich habe meinen Tag gerettet, hoffe es hilft.
quelle
wsl dos2unix deploy.sh
von Powershell, und jetzt funktioniert bei jeder Eingabewsl ./deploy.sh
alles perfekt! Vielen Dank.Steeldriver ist richtig, dass das Problem ist, dass Sie Dateien mit Windows haben Zeilenenden haben und
bash
diese nicht ausführen können.$'\r'
ist eine Darstellung des Wagenrücklaufzeichens (CR), das Teil der traditionellen DOS- und Windows-Zeilenenden (CR LF) ist, aber in traditionellen Zeilenenden (LF) im Unix-Stil fehlt.Wie Sie sagen , geben Sie den Befehl ein, um zu versuchen, das Skript auszuführen. Beachten Sie
bash
jedoch, dass das Skript tatsächlich außerhalb Ihres Ubuntu (WSL) -Systems in Ihrem Windows gespeichert ist Download-Verzeichnis :WSL Pfade , die mit beginnen
/mnt/c
, woc
jeder Windows - Laufwerksbuchstaben sein können, sind Pfade , die Zugriff auf Dateien und Verzeichnisse außerhalb des Ubuntu - System. Als Windows-Pfad bedeutet das:Dass eine Datei in Ihrem Windows-System gespeichert ist außerhalb des Installationsbereichs von Ubuntu ist, garantiert nicht, dass Windows-Endungen anstelle von Unix-Endungen verwendet werden. Wenn Sie jedoch die Dateien mit Git in Windows heruntergeladen haben , ist die Standardkonfiguration, dass Sie Zeilenenden im Windows-Stil erhalten.
Der einfachste Weg, das Problem zu beheben, besteht darin, einfach die Dateien, die Sie im Ubuntu-System benötigen , von Ihrer
bash
Eingabeaufforderung herunterzuladen . Ich empfehle Ihnen, das Ubuntu-System vollständig zu aktualisieren und danngit
in Ubuntu zu installieren. Dort findenbuild-essential
Sie nützliche Tools, die Sie zum Kompilieren der meisten Software aus dem Quellcode benötigen. Für Python-Programme benötigen Sie möglicherweise nichtbuild-essential
. Sie können es weglassen, wenn Sie möchten, aber ich vermute, Sie werden es irgendwann brauchen.Wechseln Sie dann mit dem
cd
Befehl in ein Verzeichnis, in das Sie die Software herunterladen möchten. Dies sollte ein Verzeichnis in Ihrem Ubuntu-System sein. Zum Beispiel könnte es Ihr Ubuntu-Home-Verzeichnis oder irgendwo drinnen sein. Dort klonen Sie das Repository von GitHub. Ich habe es in demsrc
Verzeichnis gemacht, das ich in meinem Home-Verzeichnis erstellt habe.Natürlich müssen Sie höchstwahrscheinlich zuerst die Abhängigkeiten installieren. Um das zu tun, folgen Sie einfach die all offiziellen Anweisungen . Führen Sie alle diese Schritte im Ubuntu-System aus.
quelle