Recibo un error en WSL al intentar usar junyanz / pytorch-CycleGAN-and-pix2pix .
Seguí todos los pasos de instalación con éxito en Windows 10 x64 usando los pasos en PyTORCH en Windows 10: una instrucción con capturas de pantalla , luego Ubuntu para Windows con escritorio GitHub Cómo instalar y usar Linux Bash Shell en Windows 10 .
Pero estoy bloqueado en los últimos pasos.
Es donde intento descargar o entrenar el modelo en Windows. Utilizando, por ejemplo, el indicador de Ubuntu Linux, navego manualmente al lugar apropiado y escribo un comando siguiente como el siguiente (también lo intenté en modo su)
bash pretrained_models/download_pix2pix_model.sh facades_label2photo
Recibo un error inmediato, siempre el mismo, similar a estos:
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
¿Alguna idea?
command-line
bash
software-installation
windows-10
windows-subsystem-for-linux
Vincent Thomas
fuente
fuente
$'\r': command not found
sugiere fuertemente el tema es que usted ha utilizado un editor de texto de Windows que ha guardado los archivos con los finales de línea CRLF estilo DOS - véase, por ejemplo DOS vs Unix finales de líneapretrained_models/download_pix2pix_model.sh
git clone
dentro del sistema WSL , y no realizar un esfuerzo adicional para intentar convertir cada archivo. Si el objetivo es instalar software en Ubuntu, no hay razón para descargarlo primero fuera de su sistema de archivos.Respuestas:
WSL interior:
sudo apt-get install dos2unix
Luego,
dos2unix [file]
Documentación completa
man dos2unix
Me salvó el día, espero que ayude.
fuente
wsl dos2unix deploy.sh
desde Powershell, y ahora, cada vez que escribo, ¡wsl ./deploy.sh
todo funciona perfectamente! Muchas gracias.steeldriver tiene razón en que el problema es que tiene archivos con terminaciones de línea de Windows y
bash
no puede ejecutarlos.$'\r'
es una representación del carácter de retorno de carro (CR) que forma parte de las terminaciones de línea tradicionales de DOS y Windows (CR LF), pero que está ausente en las terminaciones de línea tradicionales de estilo Unix (LF).Como usted dice , está escribiendo el comando para intentar ejecutar el script
bash
, pero observe que el script en realidad está almacenado fuera de su sistema Ubuntu (WSL), en su directorio de descarga de Windows :Las rutas WSL que comienzan con
/mnt/c
, dondec
puede haber cualquier letra de unidad de Windows, son rutas que acceden a archivos y directorios fuera del sistema Ubuntu. Como ruta de Windows, es decir:El hecho de que un archivo esté almacenado en su sistema Windows fuera del área donde está instalado Ubuntu no garantiza que use terminaciones de línea estilo Windows en lugar de estilo Unix. Sin embargo, si descargó los archivos con Git en Windows , su configuración predeterminada es darle terminaciones de línea al estilo de Windows.
La forma más fácil de solucionar el problema es simplemente descargar los archivos que necesita dentro del sistema Ubuntu desde su
bash
solicitud. Le recomiendo que actualice completamente el sistema Ubuntu, luego lo instalegit
en Ubuntu, así como tambiénbuild-essential
proporciona herramientas útiles que necesita para compilar la mayoría del software a partir del código fuente. Para los programas Python, es posible que no necesitebuild-essential
; puedes omitirlo si lo deseas, pero sospecho que terminarás necesitándolo en algún momento.Luego use el
cd
comando para ir al directorio donde desea descargar el software. Este debería ser un directorio dentro de su sistema Ubuntu. Por ejemplo, podría ser su directorio de inicio de Ubuntu o algún lugar dentro de él. Una vez allí, clone el repositorio de GitHub. Lo hice dentro delsrc
directorio que hice dentro de mi directorio de inicio.Por supuesto, lo más probable es que primero tengas que instalar las dependencias. Para hacer eso, solo siga todas las instrucciones oficiales . Realice todos esos pasos dentro del sistema Ubuntu.
fuente