Estou recebendo um erro no WSL ao tentar usar o junyanz / pytorch-CycleGAN-e-pix2pix .
Eu segui todas as etapas de instalação com sucesso no Windows 10 x64 usando as etapas do PyTORCH no Windows 10: Um manual com capturas de tela e o Ubuntu para Windows com área de trabalho GitHub Como instalar e usar o Linux Bash Shell no Windows 10 .
Mas estou bloqueado nas etapas mais recentes.
É onde estou tentando baixar ou treinar o modelo no Windows. Usando, por exemplo, o prompt do Ubuntu Linux, eu navego manualmente para o local apropriado e digito o seguinte comando como o abaixo (também tentei no modo su)
bash pretrained_models/download_pix2pix_model.sh facades_label2photo
Eu recebo um erro imediato, sempre o mesmo, semelhante a estes:
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
Qualquer ideia?
command-line
bash
software-installation
windows-10
windows-subsystem-for-linux
Vincent Thomas
fonte
fonte
$'\r': command not found
sugere fortemente que o problema é que você usou um editor de texto do Windows que salvou seus arquivos com finais de linha CRLF no estilo DOS - veja, por exemplo, finalizações de linha DOS vs. Unixpretrained_models/download_pix2pix_model.sh
git clone
dentro do sistema WSL e não realizar esforços extras tentando converter cada arquivo. Se o objetivo é instalar o software no Ubuntu, não há razão para fazer o download fora do sistema de arquivos primeiro.Respostas:
Dentro da WSL:
sudo apt-get install dos2unix
Então,
dos2unix [file]
Documentação completa:
man dos2unix
Salvou meu dia, espero que ajude.
fonte
wsl dos2unix deploy.sh
no Powershell, e agora, toda vez que digito,wsl ./deploy.sh
tudo funciona perfeitamente! Muito obrigado.steeldriver está correto que o problema é que você possui arquivos com terminações de linha do Windows e
bash
não pode executá-los.$'\r'
é uma representação do caractere de retorno de carro (CR) que faz parte das terminações de linha tradicionais DOS e Windows (CR LF), mas que está ausente nas terminações de linha tradicionais (LF) no estilo Unix.Como você diz , você está digitando o comando para tentar executar o script
bash
, mas observe que o script é realmente armazenado fora do sistema Ubuntu (WSL), no Windows diretório de download do :Os caminhos WSL iniciados com
/mnt/c
, ondec
pode haver qualquer letra de unidade do Windows, são caminhos que acessam arquivos e diretórios fora do sistema Ubuntu. Como um caminho do Windows, ou seja:Que um arquivo está armazenado no seu sistema Windows fora da área em que o Ubuntu está instalado não garante que ele use finalizações de linha no estilo Windows em vez de no estilo Unix. No entanto, se você baixou os arquivos com o Git no Windows , sua configuração padrão é fornecer finais de linha no estilo do Windows.
A maneira mais fácil de corrigir o problema é apenas baixar os arquivos que você precisa dentro do sistema Ubuntu a partir do seu
bash
prompt. Eu recomendo que você atualize completamente o sistema Ubuntu e instalegit
no Ubuntu, além debuild-essential
fornecer ferramentas úteis necessárias para compilar a maioria dos softwares a partir do código-fonte. Para programas Python, talvez você não precisebuild-essential
; você pode omitir se quiser, mas suspeito que você acabará precisando disso em algum momento.Em seguida, use o
cd
comando para ir para um diretório em que você deseja baixar o software. Este deve ser um diretório dentro do seu sistema Ubuntu. Por exemplo, poderia ser o diretório inicial do Ubuntu ou algum lugar lá dentro. Uma vez lá, clone o repositório do GitHub. Eu fiz isso dentro dosrc
diretório que criei dentro do meu diretório pessoal.Obviamente, você provavelmente precisará instalar as dependências primeiro. Para fazer isso, basta seguir todas as instruções oficiais . Execute todas essas etapas no sistema Ubuntu.
fonte