google colab教程

一、参考资料

使用colab平台训练自己的模型
Colab平台使用(GPU、挂载、tf版本、运行py脚本、设置点击脚本)
Google Colab Tips for Power Users
20种小技巧,玩转Google Colab
Google Colab训练数据集教程
Colab:Pytorch训练模型

二、重要说明

  1. 一定要先注意选取运行环境,否则后面的工作白做了
  2. 在colab上生成的文件都是临时的,我们需要保存的话,务必及时下载到本地,右键想要下载的文件即可;
  3. colab最长连接时间只有12个小时,对较大的工程请及时备份,以免功亏一篑;
  4. colab中的环境配置,随着colab笔记本的关闭而失效
  5. 在python终端运行指令,指令前需要加 ! 号:
    !pip install torch===1.4.0 torchvision===0.5.0 -f https://download.pytorch.org/whl/torch_stable.html
    !pip install tensorboard
    !pip install tensorboardX
    
  6. 在bash终端运行shell指令,指令前需要加 % 号:
    %cd "/drive/MyDrive/xxx"
    
  7. colab没有终端,暂时没找到显示显存使用率的方法;
  8. 可以打开多个colab笔记本,它们连接不同的服务器,最多连接次数还没验证;
  9. colab笔记本如果pip安装过第三方包,下次再打开不需要再pip了,除非点击工具栏执行程序,将运行时恢复出厂设置;

三、基本操作

1. 切换(指定)当前的工作目录

import os
os.chdir('drive/MyDrive/xxx')

2. 使用交互式 shell

colab没有内置的交互终端,但可以使用bash命令以交互方式试用shell指令。

!bash

退出shell:

exit

3. 查看tensorflow的版本

!pip show tensorflow
或者
!pip list | grep tensorflow

4. 切换tensorflow版本

如果需要切换tensorflow版本,推荐使用方法一。方法一是 colab 内置的tensoflow,是 google 服务器专门优化过的,比pip安装的版本表现更好。

  • 方法一(推荐)
    %tensorflow_version 1.x
    import tensorflow as tf
    tf.__version__
    
  • 方法二(不推荐)
    !pip uninstall tensorflow
    !pip install tensorflow==1.11
    
    注意:上面两种方法使用完成后,都需要重启runtime
    import os
    os.kill(os.getpid(), 9)
    

5. 查看显存

!nvidia-smi

6. 在colab上安装Anaconda

不推荐操作

在COLAB上面安装CANDA
Colab中安装conda
安装Miniconda

7. 执行python代码

!python /content/drive/MyDrive/yolov4-tiny/yolov4-tiny-pytorch-upload/VOCdevkit/VOC2007/voc2yolo4.py

或者
!cd /content/drive/MyDrive/yolov4-tiny/yolov4-tiny-pytorch-upload/VOCdevkit/VOC2007
!python voc2yolo4.py

8. 在colab中写入文件

  • 查看文件内容;

    !cat old_file.py
    
    输出
    print('This is old_file.py')
    
  • 复制输出内容;

  • 粘贴在新单元格;

  • 修改新单元格内容;

    This is new_file.py
    
  • 在新单元格顶部,添加 %%writefile new_file.py

    %%writefile new_file.py
    print('This is new_file.py')
    
  • 执行new_file.py

    %run new_file.py
    
    输出
    This is new_file.py
    

9. 设置定时点击脚本

长时间不动colab,可能会出现断开连接的情况,这时候程序就停了。虽然还保存了已经训练得到的模型,但还是没有训练完,所以设置一个定时点击页面的脚本

  • 在网页按F12,进入调试页面-console控制台;
  • 输入下面的代码,按Enter回车即可
function ClickConnect(){
    console.log("Clicked on connect button"); 
    document.querySelector("paper-button").click()
}
setInterval(ClickConnect,60000) 

如果想要停止该脚本,刷新浏览器,colab不会断开。

10. 便签本 Notebook

在colab操作临时指令,打开一个特殊的 scratch notebook,该 notebook 所做的任何更改都不会保存到主目录中。

11. 单元计时

colab提供内置功能来计算一段代码执行耗时,在执行一个单元(cell)之后,将鼠标悬停在单元运行图标上,可以获取代码执行时间的估计值。google colab教程_第1张图片

12. 运行某个cell单元格的一部分

  • 选中需要运行的部分;
  • 点击【代码执行程序】;
  • 点击【运行所选单元格的内容】,或者键盘快捷键 Ctrl + Shift + Enter;
    google colab教程_第2张图片

13. Jupyter Notebook 快捷键

  • 在 Jupyter 的快捷键前面加上「Ctrl +M」就能在 Colab 中使用
    google colab教程_第3张图片
  • 快捷键已完全更改或保持不变
    google colab教程_第4张图片

四、准备工作

  1. 注册google账号
  2. 用google账号登录colab
  3. 用google账号登录google云端硬盘
  4. 配置GPU
    google colab教程_第5张图片
    google colab教程_第6张图片

五、关键步骤

用colab训练自己的模型:

  • 上传项目代码:将自己的项目代码上传到 goole 云盘;
  • 上传数据;
  • 挂载google云盘:使用授权码挂载 google 云盘;
  • 配置项目运行环境;
  • 运行python文件:在 ipynb 用命令执行python文件;

1. 上传项目代码

方法一(小项目推荐,上传文件小)

  • 在google云盘中新建项目文件夹;
  • 点击【新建】,点击【上传文件夹】,选择对应的文件夹;
    google colab教程_第7张图片
    方法二(大项目推荐,上传文件大)
  • 在google云盘中新建项目文件夹;
  • 挂载google云盘;
  • 将本地项目代码上传到github;
  • 切换工作目录,切换到新建的项目文件夹下;
    import os
    os.chdir('drive/MyDrive/xxx')
    
  • 在colab中 git clone 下载项目代码;
    !git clone https://github.com/WZMIAOMIAO/deep-learning-for-image-processing.git
    

2. 上传数据

将数据集上传到google云盘,建议直接上传压缩包,速度快,后面直接在Colab中解压即可。

#解压文件
!unzip /PATH/TO/images.zip -d /PATH/TO

3. 使用授权码挂载google云盘

  1. 行代码
from google.colab import drive
drive.mount('/content/drive')
  1. 获取 authorization code 授权码
    google colab教程_第8张图片
    google colab教程_第9张图片
    google colab教程_第10张图片
  2. 输入 authorization code 授权码,按Enter确认
    google colab教程_第11张图片
  3. 刷新目录
    google colab教程_第12张图片
  4. 挂载成功
    在这里插入图片描述
    google colab教程_第13张图片

4. 配置项目运行环境

5. 运行python文件

!python /content/drive/MyDrive/yolov4-tiny/yolov4-tiny-pytorch-upload/VOCdevkit/VOC2007/voc2yolo4.py

六、环境配置

1. 参考资料

手把手教你更换Colab上的python版本

2. 重要说明

  • colab官方默认是python3.7,python3.6并不能使用这些库。如果要一个一个安装,不仅会浪费大量时间,而且有时候我们也不知道需要哪些库,正确的做法是直接复制:
    !cp -r /usr/local/lib/python3.7/dist-packages /usr/local/lib/python3.6/
    
  • 查看colab中已安装的python版本:
    !python --version
    
  • 查看colab中已安装的python版本
    !ls /usr/local/lib/
    
    # 已安装的python版本
    # python2.7
    # python3.6
    # python3.7
    
  • pip安装库
    !python3.6 -m pip install numpy
    
# 安装pip
!apt-get install python3-pip

# 运行python程序
!python3.6 main.py

3. 导出项目运行所需的依赖包

pip freeze > ./requirements.txt

4. 安装项目运行所需的依赖包

pip install -r ./requirements.txt

5. google网盘扩容

参考资料
获取GoogleDrive无限网盘
一分钟获取GOOGLEDRIVE无限网盘
使用谷歌Colab(Colaboratory)免费GPU训练自己的模型及谷歌网盘无限容量(Google drive)申请教程
受够了百度网盘?如何注册无限容量的Google Drive网盘

七、可能存在的问题

参考资料
用Colab训练机器学习的经验以及踩坑的那些事

  • 跑第一个epoch很慢
问题原因:
colab跑神经网络的第一个epoch需要加载数据集,跑完第一个epoch之后就很快了;

解决办法:
耐心等待第一个epoch完成
上传数据集,上传项目文件夹的时候,有重复的文件。

问题原因:
由于网络的原因,上传出现文件,google云盘支持相同的名称。
读取图片的时候读取不到,但是不会出现没有这个文件的报错,可能会出现Nantype的报错。

解决办法:
写一个python脚本,删除重复的文件。
  • 上传压缩文件,然后解压,解压后的文件有问题。
问题原因:
google解压的文件数量有限。

解决办法:
分批次上传,并分批次解压,之后汇总。

你可能感兴趣的:(编程工具,google,colab)