Use Google colab para ejecutar el código github AttnGAN pasos detallados experimento de aprendizaje profundo (colab + pytorch + jupyter + github + AttnGAN)

¡Acostúmbrate a escribir juntos! Este es el octavo día de mi participación en el "Nuggets Daily New Plan·Desafío de actualización de abril", haz clic para ver los detalles del evento

Google Colab, cuyo nombre completo es Colaboratory, es una plataforma en la nube gratuita proporcionada por Google, que puede usar pytorch, keras, tensorflow y otros marcos para el aprendizaje profundo. Su GPU es la GPU Tesla T4, que tiene un gran poder de cómputo.Para los usuarios que recién comienzan con el aprendizaje automático o el aprendizaje profundo, esta plataforma es la mejor opción.

@[TOC] (Google colab ejecuta el código github AttnGAN pasos detallados de aprendizaje profundo)

Abra colab y conéctese a la máquina virtual en la nube

1. Vaya a Google Drive y busque colaborativo en Más inserte la descripción de la imagen aquí2. La interfaz de Colab se muestra en la figura a continuación, que es equivalente a Jupyter.Se muestra en forma de documento y puede ejecutar y compartir código. inserte la descripción de la imagen aquí3. Haga clic en Conectar para conectarse a la máquina virtual proporcionada por Google Colab. Después de inserte la descripción de la imagen aquíesperar , se mostrará que la conexión es exitosa inserte la descripción de la imagen aquí. 4. Cambie la configuración de la máquina virtual, use GPU y prepárese para comenzar la prostitución blanca. Haga clic en Modificar en la parte superior esquina izquierda - Configuración del portátil - Cambio de aceleración de hardware a GPUinserte la descripción de la imagen aquí inserte la descripción de la imagen aquí

Configurar recursos experimentales (código+conjunto de datos)

1. Ejecute el siguiente código para montar Google Drive en la máquina virtual

from google.colab import drive
drive.mount('/content/drive')
复制代码

inserte la descripción de la imagen aquí

Puede ver que está cargado en la carpeta de la unidad, que es Google Drive (puede darse cuenta de la conexión entre los archivos del disco en la nube y las máquinas virtuales)inserte la descripción de la imagen aquí

2. Clone el proyecto github en la carpeta sample_data de la máquina virtual (generalmente colóquelo en esta carpeta o en otro lugar) Primero busque la dirección HHTPS del código github, como AttnGAN: inserte la descripción de la imagen aquíluego ingrese el comando de clonación en colab:

!git clone https://github.com/davidstap/AttnGAN.git
复制代码

Puede ver el código experimental de la máquina virtual colab clonado en github. inserte la descripción de la imagen aquí3. Importar recursos según las indicaciones del proyecto

①将谷歌云盘的鸟类预处理的元数据保存到自己的云盘(添加快捷方式就是) inserte la descripción de la imagen aquí 然后打开colab可以看到,birds.zip已经在我们的云盘中,我们将其挪到AttnGAN的指定位置中(data/) inserte la descripción de la imagen aquí 挪入后发现,他是zip文件,要进行解压 故我们通过cd命令,进入data文件夹当中。

cd AttnGAN/
cd data/
复制代码

然后进行解压

!unzip birds.zip
复制代码

同样,我们发现在解压后的birds中还有一个压缩文件叫做text.zip,同样进行解压,解压成功后可以删掉zip文件,因为colab限制了磁盘存储空间,要省着用,解压成功后的文件目录是这样: inserte la descripción de la imagen aquí

②、用与①相当的方法,添加鸟类图像数据集的快捷方式到云盘,并将它们挪到data/birds/并且解压。

此处为大家介绍一小部分可能会用到的命令:

返回上一级:cd .. 查看当前目录:pwd 查看当前目录里的所有文件和文件夹:ls 解压zip格式的压缩文件(text.zip为目标文件):unzip text.zip 解压tar格式的压缩文件(CUB_200_2011.tgz为目标文件):!tar -xf CUB_200_2011.tgz

实验运行

1、预训练 DAMSM 模型,回到code目录下,输入以下代码并运行:

!python pretrain_DAMSM.py --cfg cfg/DAMSM/bird.yml --gpu 0
复制代码

bug1:会出现

IndexError: invalid index of a 0-dim tensor. Use tensor.item() in Python or tensor.item<T>() in C++ to convert a 0-dim tensor to a number

是因为s_cur_loss0 = s_total_loss0[0]应该改成s_cur_loss0 = s_total_loss0.item(),把他们四兄弟都改成.item() inserte la descripción de la imagen aquí

bug2:会出现

File "/content/sample_data/AttnGAN/code/miscc/utils.py", line 104, in build_super_images

drawCaption(text_convas, captions, ixtoword, vis_size)
复制代码

File "/content/sample_data/AttnGAN/code/miscc/utils.py", line 35, in drawCaption fnt = ImageFont.truetype('Pillow/Tests/fonts/FreeMono.ttf', 50) OSError: cannot open resource

这是因为没有FreeMono字体原因,找到utils.py的50行,改为Humor-Sans.ttf或者LiberationMono-Bold.ttf

后面还有少许bug,这里不再赘述

2、训练 AttnGAN 模型

!python main.py --cfg cfg/bird_attn2.yml --gpu 2
复制代码

会提示bug:

RuntimeError: CUDA error: invalid device ordinal

CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

这个是因为,该虚拟机只有一个gpu可用,将--gpu 2改为--gpu 0

3、采样 采样部分文本测试 inserte la descripción de la imagen aquí 可以在这里更改自己需要的文本,比如:this bird is red and white with big swings and short beak

采样部分文件名测试 inserte la descripción de la imagen aquí

python main.py --cfg cfg/eval_bird.yml --gpu 0
复制代码

然后可以看到,程序进入正常运行阶段,大功告成。 inserte la descripción de la imagen aquí

运行结果

El texto de entrada es: esta ave es roja y blanca con grandes columpios y pico corto Entrada de atención Las imágenes generadas por el generador de inserte la descripción de la imagen aquítres etapas son: inserte la descripción de la imagen aquí inserte la descripción de la imagen aquí inserte la descripción de la imagen aquíEl experimento es exitoso.

Notas sobre el uso de colab

0. El uso de la GPU de colab es completamente gratuito, úsalo casualmente, úsalo indiscriminadamente, úsalo fuerte, y vamos, usemos la lana de Google juntos. 1. Agregue ! delante de la línea de comando de ejecución. 2. Biblioteca independiente e instalación de bibliotecas. Colab viene con Pytorch, Tensorflow, Matplotlib, Numpy, Pandas y otras bibliotecas básicas de aprendizaje profundo. Si necesita otras dependencias, como Keras, puede crear un nuevo bloque de código y usar pip para instalarlo. 3. Si lo usa continuamente durante más de 12 horas, estará limitado. El archivo del modelo se guardará en el medio de uso 4. Si la máquina virtual no detecta sus comandos y acciones durante mucho tiempo, cortará automáticamente la conexión, y todo tiene que empezar de nuevo. 5. No caiga en la tentación de cobrar dinero para actualizar los permisos También hay muchos excelentes servicios en la nube en China.

Supongo que te gusta

Origin juejin.im/post/7085219098501578783
Recomendado
Clasificación