Я получаю сообщение об ошибке в WSL при попытке использовать junyanz / pytorch-CycleGAN-and-pix2pix .
Я успешно выполнил все шаги по установке в Windows 10 x64, используя шаги в PyTORCH в Windows 10: инструкция со скриншотами , затем Ubuntu для Windows с рабочим столом GitHub Как установить и использовать оболочку Linux Bash в Windows 10 .
Но я заблокирован на последних шагах.
Это то место, где я пытаюсь скачать или обучить модель в Windows. Используя, например, приглашение Ubuntu Linux, я вручную перехожу в соответствующее место и набираю следующую команду, подобную приведенной ниже (я также пробовал в режиме su)
bash pretrained_models/download_pix2pix_model.sh facades_label2photo
Я получаю немедленную ошибку, всегда одинаковую, похожую на эту:
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
Есть идеи?
$'\r': command not found
настоятельноpretrained_models/download_pix2pix_model.sh
git clone
в системе WSL , а не предпринимать дополнительных усилий, пытаясь преобразовать каждый файл. Если цель состоит в том, чтобы установить программное обеспечение в Ubuntu, нет оснований загружать его за пределы своей файловой системы.Ответы:
Внутри WSL:
sudo apt-get install dos2unix
Затем,
dos2unix [file]
Полная документация:
man dos2unix
Спас мой день, надеюсь, это поможет.
источник
wsl dos2unix deploy.sh
из Powershell, и теперь, каждый раз, когда я печатаю,wsl ./deploy.sh
все работает отлично! Большое спасибо.Steeldriver прав, что проблема в том, что у вас есть файлы с окончаниями строк Windows, и
bash
вы не можете их запустить.$'\r'
является представлением символа возврата каретки (CR), который является частью традиционных окончаний строк DOS и Windows (CR LF), но отсутствует в традиционных окончаниях строк в стиле Unix (LF).Как вы говорите , вы вводите команду, чтобы попытаться запустить скрипт
bash
, но обратите внимание, что скрипт на самом деле хранится за пределами вашей системы Ubuntu (WSL), в вашем каталоге загрузки Windows :WsL пути , которые начинаются с
/mnt/c
, гдеc
может быть любой буквы диска для Windows, являются путями , что доступ к файлам и каталогам вне системы Ubuntu. Как путь Windows, это:То, что файл хранится в вашей системе Windows за пределами области, в которой установлена Ubuntu, не гарантирует, что он использует стиль Windows вместо концов строк в стиле Unix. Однако, если вы загрузили файлы с помощью Git в Windows , его стандартная конфигурация - дать вам окончания строк в стиле Windows.
Самый простой способ решить эту проблему - просто загрузить нужные файлы в систему Ubuntu из вашего
bash
приглашения. Я рекомендую вам полностью обновить систему Ubuntu, а затем установитьgit
в Ubuntu, а такжеbuild-essential
предоставить полезные инструменты, необходимые для компиляции большинства программ из исходного кода. Для программ на Python вам может не понадобитьсяbuild-essential
; Вы можете пропустить это, если хотите, но я подозреваю, что в какой-то момент вам это понадобится.Затем используйте
cd
команду, чтобы перейти в каталог, в который вы хотите загрузить программное обеспечение. Это должен быть каталог в вашей системе Ubuntu. Например, это может быть ваш домашний каталог Ubuntu или где-то там внутри. Оказавшись там, клонируйте репозиторий из GitHub. Я сделал это внутриsrc
каталога, который я сделал внутри моего домашнего каталога.Конечно, вам, скорее всего, придется сначала установить зависимости. Для этого просто следуйте всем официальным инструкциям . Проделайте все эти шаги в системе Ubuntu.
источник