尝试用ColabPro训练深度学习模型
Colab中使用.ipynb文件,即我们平时使用的Jupyter Notebook文件来完成相关代码的执行。如果要训练模型,需要将模型封装成可以经过ipynb文件执行的形式。
在具体的运行时类型中,可以选择不同的运行时,其中包含了可选的GPU和CPU。GPU中有V100、A100、T4这几种可以选择,在选择相应的资源连接后,会进入一个类似远程访问的状况。整个Colab的WorkSpace都在Linux/Unix系统下的一个名为/content的文件夹中,在Colab中内置了绝大部分使用到的深度学习的如TensorFlow、Pytorch这类的库。
在Colab Research中,可以选择新建笔记本,新建的笔记本内容会与当前登录账号的Google Drive相连,会在当前的Google Drive目录下新建一个目录,名为Colab NoteBooks,在Colab中新建的笔记本的.ipynb文件会存放在这一目录下面。
由于Colab长期占着GPU资源不用会被判定为一种不好的行为,最好的方法建议是写好.ipynb文件确定能在本地跑起来之后,和数据集打包一起压缩上传到Google Drive上。
这里需要注意,在Colab的实例中上传到机器的/content文件夹目录下的文件都是暂时的,这些临时文件是不太可靠的,往往会出现的情况是12小时内不继续运行实例或者一段时间不使用这些文件就会使得它们消失。
如何解决12个小时的自动断开问题:最简单的解决方法就是每隔一段时间重新挂载看一下,另一种方法是使用一种自动重连的插件,名为Auto reconnect colab,具体不再赘述。
如果一定要上传临时文件,是无法直接上传文件夹的。一种比较可靠的方法是上传打包好的压缩文件之后进行解压。
因此最好的办法可能是将Google Drive最为一个长期的用于存放数据集和相关训练参数保存的位置。需要注意的是,Google Drive和Colab的交互十分依赖网络,因此出现两边不同步是非常正常的现象。
那么做的第一件事是需要对Google Drive进行挂载,挂载Google Drive有两种常见的形式:
(1)快捷键刷新:在Colab的文件夹样式的图标中,点击展开,就能发现一排快捷键,刷新即可看到Google Drive目录下的相关内容:
(2)使用代码挂载:
1 from google.colab import drive 2 drive.mount('/content/drive/')
通过将上述代码段在Cell中执行,能够使得Google Drive中的云盘资料被挂载到当前的具体目录下面,刷新一下,就能看到Google Drive中的相关内容出现在目录中,点击运行后,会出现一个类似网盘验证码的相关内容
在Colab中,执行命令的方法也和一般的不太一样,一般而言可以这样处理,即在单元格中书写需要之后运行的命令。在Colab提供的运行命令的方式中,在要运行的终端命令之前需要加上!,例如我们需要安装某个python库xxxxxx,并且使用pip包管理器来安装,那么命令可以按照如下输入:
!pip install xxxxxx
或者需要运行相应的模型python文件的时候也有如,我们需要运行名为xxxxxx.py的文件,即有:
!python xxxxxx.py
补充:如果要运行shell命令,如我们在Linux系统中常用的cd命令,那么需要在命令之前加上%