Google colaboratory使用笔记
2019-08-04 本文已影响0人
georgeguo
Google co-laboratory https://colab.research.google.com
命令的执行
colaboratory中执行命令和在linux上执行命令方式相同,唯一的区别是在执行linux命令时需要在命令前添加感叹号"!", 注意cd切换目录时需要添加百分号“%”,而不是叹号,参见如下示例。
!pip install PACKAGENAME # 安装依赖包
ls -lrth # 显示当前目录下的文件
!mkdir -p ~/.bert # 创建目录
!cp abc.json ~/.bert # 拷贝文件
!chmod 600 ~/.bert/abc.json # 修改文件权限
!pwd # 查看当路径
%cd ~/.bert #切换工作路径,此时!cd不能生效,只有使用%cd
设置GPU/TPU加速
笔记页面通过“代码执行程序”->“更改运行时类型”,设置python的版本和是否使用gpu或者tpu加速。
进入Python版本和硬件加速选择python版本和GPU或TPU
查看gpu的配置
!nvidia-smi # 查看gpu情况, 注意前面添加了叹号
上传文件
from google.colab import files
files.upload()
执行上述代码之后,会显示上传文件按钮,如下图所示。
上传文件
从github上拷贝项目
!git clone https://github.com/google-research/bert.git
解压文件
!unzip abc.zip
导出环境变量
!export BERT_BASE_DIR=gs://bert_models/2018_10_18/uncased_L-12_H-768_A-12
使用gsutil从google网盘中拷贝文件
!gsutil cp gs://bert_models/2018_10_18/uncased_L-12_H-768_A-12/vocab.txt ./
挂载Google driver到colaboratory目录下
from google.colab import drive
drive.mount('/content/gdrive')
import os
os.chdir('/content/gdrive/My Drive/chinese-lstm-ner/pytorch-transformers-master')
挂载之后的目录格式
挂载之后的目录
思考
Google Colaboratory 开放了类似一个Jupter的服务,同时提供了免费的GPU和TPU运行环境。可以挂载Google drive目录到Colaboratory的工作目录下。
个人猜测每次执行一个新建笔记,相当于服务端建立了一个docker容器,而挂载Google drive路径,就相当于启动docker时添加了-v参数映射路径。
Colaboratory 每12小时就会被销毁掉,猜测每次创建的docker容器应该都有一个生命周期,超过12小时会自动销毁,若被销毁,当再次执行命令时,会重建docker容器。因为docker容器被销毁了,所以之前挂载的google drive目录也就不存在了,需要重新挂载。所以在做深度学习模型训练时,每个epoch都要保存已学习到的参数,若容器被销毁,可以接着上一次迭代继续训练,否则只有从头训练了。