利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)

Google Colab,全名Colaboratory,是由谷歌提供的免费的云平台,可以使用pytorch、keras、tensorflow等框架进行深度学习。其GPU为Tesla T4 GPU,有很强的算力,对于刚入门机器学习或深度学习的用户,这个平台是不二之选。

谷歌colab跑github代码AttnGAN详细步骤 深度学习

  • 打开colab,连接云端虚拟机
  • 配置实验资源(code+dataset)
  • 实验运行
  • 运行结果
  • 使用colab的注意事项

打开colab,连接云端虚拟机

1、进入谷歌云端硬盘,在更多中找到colaboratory
在这里插入图片描述
2、Colab界面下图所示,相当于Jupyter,以文档的形式展现,可以运行和共享代码。
在这里插入图片描述
3、点击连接,连接谷歌colab为你提供的虚拟机
在这里插入图片描述
等待后,显示这样就是连接成功
在这里插入图片描述
4、更改虚拟机设置,使用GPU,准备开始白嫖
点击左上角修改-笔记本设置-硬件加速改为GPU
在这里插入图片描述
在这里插入图片描述

配置实验资源(code+dataset)

1、运行以下代码装载谷歌云端硬盘到虚拟机

from google.colab import drive
drive.mount('/content/drive')

利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第1张图片

可以看到装载到了drive文件夹,即是谷歌云端硬盘(就可以实现云盘文件与虚拟机的连接)
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第2张图片

2、克隆github项目到虚拟机sample_data文件夹(一般情况下放在此文件夹,别处也可以)
首先找到github代码的HHTPS地址,如AttnGAN的:
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第3张图片
然后在colab中输入克隆命令:

!git clone https://github.com/davidstap/AttnGAN.git

即可看到colab虚拟机克隆到了github的实验代码。
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第4张图片
3、根据项目的提示,进行资源的导入

①将谷歌云盘的鸟类预处理的元数据保存到自己的云盘(添加快捷方式就是)
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第5张图片
然后打开colab可以看到,birds.zip已经在我们的云盘中,我们将其挪到AttnGAN的指定位置中(data/)
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第6张图片
挪入后发现,他是zip文件,要进行解压
故我们通过cd命令,进入data文件夹当中。

cd AttnGAN/
cd data/

然后进行解压

!unzip birds.zip

同样,我们发现在解压后的birds中还有一个压缩文件叫做text.zip,同样进行解压,解压成功后可以删掉zip文件,因为colab限制了磁盘存储空间,要省着用,解压成功后的文件目录是这样:
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第7张图片

②、用与①相当的方法,添加鸟类图像数据集的快捷方式到云盘,并将它们挪到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() 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()
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第8张图片

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、采样
采样部分文本测试
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第9张图片
可以在这里更改自己需要的文本,比如:this bird is red and white with big swings and short beak

采样部分文件名测试
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第10张图片

python main.py --cfg cfg/eval_bird.yml --gpu 0

然后可以看到,程序进入正常运行阶段,大功告成。
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第11张图片

运行结果

输入的文本为:this bird is red and white with big swings and short beak
注意力输入
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第12张图片
三阶段的生成器分别生成的图像为:
在这里插入图片描述
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第13张图片
利用谷歌colab跑github代码AttnGAN详细步骤 深度学习实验(colab+pytorch+jupyter+github+AttnGAN)_第14张图片
实验成功。

使用colab的注意事项

0、colab的GPU使用是完全免费的,随便用,乱用,使劲用,加油一起薅谷歌的羊毛。
1、执行命令行前面加!
2、自带库及库的安装Colab 自带了Pytorch, Tensorflow、Matplotlib、Numpy、Pandas 等深度学习基础库。如果还需要其他依赖,如 Keras,可以新建代码块,利用pip安装
3、连续使用超过12小时会被限制,使用时中途保存模型文件
4、如果虚拟机长时间未检测到你有什么指令和动作,会自动切断连接,一切就得重新来。
5、不要心动去充钱升级权限,国内也有很多优秀的云服务。

你可能感兴趣的:(文本生成图像,text-to-image,深度学习,github,pytorch,jupyter,云服务)