Podczas próby użycia junyanz / pytorch-CycleGAN-and-pix2pix pojawia się błąd w WSL .
Z powodzeniem wykonałem wszystkie kroki instalacji w systemie Windows 10 x64, postępując zgodnie z instrukcjami zawartymi w PyTORCH w systemie Windows 10: instruktaż ze zrzutami ekranu , a następnie Ubuntu dla systemu Windows z pulpitem GitHub Jak zainstalować i używać powłoki Linux Bash Shell w systemie Windows 10 .
Ale jestem zablokowany na ostatnich krokach.
To tam próbuję pobrać lub wyszkolić model w systemie Windows. Korzystając na przykład z wiersza polecenia Ubuntu Linux, ręcznie nawiguję do odpowiedniego miejsca i wpisuję następujące polecenie, takie jak to poniżej (próbowałem również w trybie su)
bash pretrained_models/download_pix2pix_model.sh facades_label2photo
Otrzymuję natychmiastowy błąd, zawsze taki sam, podobny do tych:
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
Dowolny pomysł?
źródło
$'\r': command not found
silnie sugeruje, że problem jest, że korzystałeś z edytora tekstu Windows, który został zapisany pliki z zakończeń linii DOS-styl crlf - patrz na przykład DOS vs. Unix Linia Endingspretrained_models/download_pix2pix_model.sh
git clone
w systemie WSL i nie podejmowanie dodatkowych wysiłków przy próbie konwersji każdego pliku. Jeśli celem jest instalacja oprogramowania w Ubuntu, nie ma powodu, aby najpierw pobierać je poza system plików.Odpowiedzi:
Wewnątrz WSL:
sudo apt-get install dos2unix
Następnie,
dos2unix [file]
Pełna dokumentacja:
man dos2unix
Uratowałem mój dzień, mam nadzieję, że to pomoże.
źródło
wsl dos2unix deploy.sh
z Powershell, a teraz, za każdym razem, gdy piszę,wsl ./deploy.sh
wszystko działa idealnie! Wielkie dzięki.steeldriver ma rację , ponieważ problem polega na tym, że masz pliki z zakończeniami linii systemu Windows i
bash
nie możesz ich uruchomić.$'\r'
jest reprezentacją znaku powrotu karetki (CR), który jest częścią tradycyjnych zakończeń linii DOS i Windows (CR LF), ale których nie ma w tradycyjnych zakończeniach linii w stylu uniksowym (LF).Jak mówisz , wpisujesz polecenie, aby spróbować uruchomić skrypt
bash
, ale zauważ, że skrypt jest faktycznie przechowywany poza systemem Ubuntu (WSL), w katalogu pobierania Windows :Ścieżki WSL rozpoczynające się od
/mnt/c
, gdziec
może być dowolna litera dysku Windows, to ścieżki dostępu do plików i katalogów poza systemem Ubuntu. Jako ścieżka systemu Windows to:To, że plik jest przechowywany w systemie Windows poza obszarem, w którym jest zainstalowany Ubuntu, nie gwarantuje, że używa on stylu Windows zamiast zakończeń linii w stylu Unix. Jeśli jednak pliki zostały pobrane za pomocą Git w systemie Windows , domyślną konfiguracją jest zakończenie linii w stylu Windows.
Najprostszym sposobem rozwiązania tego problemu jest naprawdę wystarczy pobrać pliki potrzebne wewnątrz systemu Ubuntu z Twojego
bash
polecenia. Polecam pełną aktualizację systemu Ubuntu, a następnie instalacjęgit
w Ubuntu, a takżebuild-essential
dostarczenie przydatnych narzędzi, które są potrzebne do skompilowania większości oprogramowania z kodu źródłowego. W przypadku programów w języku Python może nie być potrzebnybuild-essential
; możesz to pominąć, jeśli chcesz, ale podejrzewam, że w pewnym momencie będziesz go potrzebować.Następnie użyj
cd
polecenia, aby przejść do katalogu, w którym chcesz pobrać oprogramowanie. Powinien to być katalog w twoim systemie Ubuntu. Na przykład może to być katalog domowy Ubuntu lub gdzieś w nim. Tam sklonuj repozytorium z GitHub. Zrobiłem to wsrc
katalogu, który utworzyłem w katalogu domowym.Oczywiście najprawdopodobniej najpierw będziesz musiał zainstalować zależności. Aby to zrobić, postępuj zgodnie ze wszystkimi oficjalnymi instrukcjami . Wykonaj wszystkie te kroki w systemie Ubuntu.
źródło