使用colab平台训练自己的模型
Colab平台使用(GPU、挂载、tf版本、运行py脚本、设置点击脚本)
Google Colab Tips for Power Users
20种小技巧,玩转Google Colab
Google Colab训练数据集教程
Colab:Pytorch训练模型
- 一定要先注意选取运行环境,否则后面的工作白做了;
- 在colab上生成的文件都是临时的,我们需要保存的话,务必及时下载到本地,右键想要下载的文件即可;
- colab最长连接时间只有12个小时,对较大的工程请及时备份,以免功亏一篑;
- colab中的环境配置,随着colab笔记本的关闭而失效;
- 在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
- 在bash终端运行shell指令,指令前需要加 % 号:
%cd "/drive/MyDrive/xxx"
- colab没有终端,暂时没找到显示显存使用率的方法;
- 可以打开多个colab笔记本,它们连接不同的服务器,最多连接次数还没验证;
- colab笔记本如果pip安装过第三方包,下次再打开不需要再pip了,除非点击工具栏执行程序,将运行时恢复出厂设置;
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__
- 方法二(不推荐)
注意:上面两种方法使用完成后,都需要重启runtime!pip uninstall tensorflow !pip install tensorflow==1.11
import os os.kill(os.getpid(), 9)
!nvidia-smi
6. 在colab上安装Anaconda
不推荐 *** 作
在COLAB上面安装CANDA
Colab中安装conda
安装Miniconda
!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
长时间不动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)之后,将鼠标悬停在单元运行图标上,可以获取代码执行时间的估计值。
12. 运行某个cell单元格的一部分- 选中需要运行的部分;
- 点击【代码执行程序】;
- 点击【运行所选单元格的内容】,或者键盘快捷键 Ctrl + Shift + Enter;
- 在 Jupyter 的快捷键前面加上「Ctrl +M」就能在 Colab 中使用
- 快捷键已完全更改或保持不变
- 注册google账号
- 用google账号登录colab
- 用google账号登录google云端硬盘
- 配置GPU
用colab训练自己的模型:
- 上传项目代码:将自己的项目代码上传到 goole 云盘;
- 上传数据;
- 挂载google云盘:使用授权码挂载 google 云盘;
- 配置项目运行环境;
- 运行python文件:在 ipynb 用命令执行python文件;
方法一(小项目推荐,上传文件小)
- 在google云盘中新建项目文件夹;
- 点击【新建】,点击【上传文件夹】,选择对应的文件夹;
方法二(大项目推荐,上传文件大) - 在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
将数据集上传到google云盘,建议直接上传压缩包,速度快,后面直接在Colab中解压即可。
#解压文件
!unzip /PATH/TO/images.zip -d /PATH/TO
3. 使用授权码挂载google云盘
- 行代码
from google.colab import drive
drive.mount('/content/drive')
- 获取 authorization code 授权码
- 输入 authorization code 授权码,按Enter确认
- 刷新目录
- 挂载成功
!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解压的文件数量有限。
解决办法:
分批次上传,并分批次解压,之后汇总。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)