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

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

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


打开colab,连接云端虚拟机

1、进入谷歌云端硬盘,在更多中找到colaboratory

在这里插入图片描述

2、Colab界面下图所示,相当于Jupyter,以文档的形式展现,可以运行和共享代码。

在这里插入图片描述

3、点击连接,连接谷歌colab为你提供的虚拟机

在这里插入图片描述

等待后,显示这样就是连接成功

在这里插入图片描述

4、更改虚拟机设置,使用GPU,准备开始白嫖

点击左上角修改-笔记本设置-硬件加速改为GPU

在这里插入图片描述

在这里插入图片描述

配置实验资源(code+dataset)

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

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

在这里插入图片描述

可以看到装载到了drive文件夹,即是谷歌云端硬盘(就可以实现云盘文件与虚拟机的连接)

在这里插入图片描述

2、克隆github项目到虚拟机sample_data文件夹(一般情况下放在此文件夹,别处也可以)

首先找到github代码的HHTPS地址,如AttnGAN的:

在这里插入图片描述

然后在colab中输入克隆命令:

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

即可看到colab虚拟机克隆到了github的实验代码。

在这里插入图片描述

3、根据项目的提示,进行资源的导入

①将谷歌云盘的鸟类预处理的元数据保存到自己的云盘(添加快捷方式就是)

在这里插入图片描述

然后打开colab可以看到,birds.zip已经在我们的云盘中,我们将其挪到AttnGAN的指定位置中(data/)

在这里插入图片描述

挪入后发现,他是zip文件,要进行解压

故我们通过cd命令,进入data文件夹当中。

cd AttnGAN/
cd data/

然后进行解压

!unzip birds.zip

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

在这里插入图片描述

②、用与①相当的方法,添加鸟类图像数据集的快捷方式到云盘,并将它们挪到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()

在这里插入图片描述

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、采样

采样部分文本测试

在这里插入图片描述

可以在这里更改自己需要的文本,比如:this bird is red and white with big swings and short beak

采样部分文件名测试

在这里插入图片描述

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

然后可以看到,程序进入正常运行阶段,大功告成。

在这里插入图片描述

运行结果

输入的文本为:this bird is red and white with big swings and short beak

注意力输入

在这里插入图片描述

三阶段的生成器分别生成的图像为:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

实验成功。

使用colab的注意事项

0、colab的GPU使用是完全免费的,随便用,乱用,使劲用,加油一起薅谷歌的羊毛。

1、执行命令行前面加!

2、自带库及库的安装Colab 自带了Pytorch, Tensorflow、Matplotlib、Numpy、Pandas 等深度学习基础库。如果还需要其他依赖,如 Keras,可以新建代码块,利用pip安装

3、连续使用超过12小时会被限制,使用时中途保存模型文件

4、如果虚拟机长时间未检测到你有什么指令和动作,会自动切断连接,一切就得重新来。

5、不要心动去充钱升级权限,国内也有很多优秀的云服务。

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
1天前
|
机器学习/深度学习 自然语言处理 算法
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
|
4天前
|
机器学习/深度学习 PyTorch API
pytorch与深度学习
【5月更文挑战第3天】PyTorch,Facebook开源的深度学习框架,以其动态计算图和灵活API深受青睐。本文深入浅出地介绍PyTorch基础,包括动态计算图、张量和自动微分,通过代码示例演示简单线性回归和卷积神经网络的实现。此外,探讨了模型架构、自定义层、数据加载及预处理等进阶概念,并分享了实战技巧、问题解决方案和学习资源,助力读者快速掌握PyTorch。
20 5
|
7天前
|
机器学习/深度学习 PyTorch 算法框架/工具
【Python机器学习专栏】PyTorch在深度学习中的应用
【4月更文挑战第30天】PyTorch是流行的开源深度学习框架,基于动态计算图,易于使用且灵活。它支持张量操作、自动求导、优化器和神经网络模块,适合快速实验和模型训练。PyTorch的优势在于易用性、灵活性、社区支持和高性能(利用GPU加速)。通过Python示例展示了如何构建和训练神经网络。作为一个强大且不断发展的工具,PyTorch适用于各种深度学习任务。
|
7天前
|
机器学习/深度学习 自然语言处理 算法
PyTorch与NLP:自然语言处理的深度学习实战
随着人工智能技术的快速发展,自然语言处理(NLP)作为其中的重要分支,日益受到人们的关注。PyTorch作为一款强大的深度学习框架,为NLP研究者提供了强大的工具。本文将介绍如何使用PyTorch进行自然语言处理的深度学习实践,包括基础概念、模型搭建、数据处理和实际应用等方面。
|
14天前
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
19 0
|
19天前
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与CUDA:加速深度学习训练
【4月更文挑战第18天】本文介绍了如何使用PyTorch与CUDA加速深度学习训练。CUDA是NVIDIA的并行计算平台,常用于加速深度学习中的矩阵运算。PyTorch与CUDA集成,允许开发者将模型和数据迁移到GPU,利用`.to(device)`方法加速计算。通过批处理、并行化策略及优化技巧,如混合精度训练,可进一步提升训练效率。监控GPU内存和使用调试工具确保训练稳定性。PyTorch与CUDA的结合对深度学习训练的加速作用显著。
|
PyTorch 算法框架/工具 Android开发
PyTorch 深度学习(GPT 重译)(六)(4)
PyTorch 深度学习(GPT 重译)(六)
38 2
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 深度学习(GPT 重译)(六)(3)
PyTorch 深度学习(GPT 重译)(六)
29 2
|
19天前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 深度学习(GPT 重译)(六)(2)
PyTorch 深度学习(GPT 重译)(六)
41 1
|
19天前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch 深度学习(GPT 重译)(六)(1)
PyTorch 深度学习(GPT 重译)(六)
37 1