在下半年选修了机器学习的关键课程Machine learning and deep learning,但由于Macbook Pro显卡不支持cuda,因此无法使用GPU来训练网络。教授推荐使用Google Colab作为训练神经网络的平台。在高强度












# 加载云端硬盘 from google.colab import drive drive.mount('/content/drive') # 查看分配到的GPU gpu_info = !nvidia-smi gpu_info = '\n'.join(gpu_info) if gpu_info.find('failed') >= 0: print('Not connected to a GPU') else: print(gpu_info) # 安装python包 !pip3 install <package>点击“播放”按钮执行代码块。代码块开始执行后,按钮就会进入转圈的状态,表示“正在执行”,外部的圆圈是实线。如果在有代码块执行的情况下继续点击其他代码块的“播放”按钮,则这些代码块进入“等待执行”的状态,按钮也就会进入转圈的状态,但外部的圆圈是虚线。在当前代码块结束后,会之前按照点击的顺序依次执行这些代码块。










- 将训练过后的模型日志和其他重要的文件保存到谷歌云盘,而不是本地的实例空间
- 运行的代码必须支持“断点续传”能力,简单来说就是必须定义类似checkpoint功能的函数;假设我们一共需要训练40个epochs,在第30个epoch掉线了之后模型能够从第30个epoch开始训练而不是从头再来
- 仅在模型训练时开启GPU模式,在构建模型或其他非必要情况下使用None模式
- 在网络稳定的情况下开始训练,每隔一段时间查看一下训练的情况
- 注册多个免费的谷歌账号交替使用
# 克隆仓库到/content/my-repo目录下 !git clone https://github.com/my-github-username/my-git-repo.git %cd my-git-repo !./train.py --logdir /my/log/path --data_root /my/data/root --resume2. 克隆git仓库到实例空间或云盘,把主程序中的代码用函数封装,然后在notebook中调用这些函数
from train import my_training_method my_training_method(arg1, arg2, ...)由于笔记本默认的路径是"/content",因此可能需要修改系统路径后才能直接导入
import sys sys.path.append('/content/my-git-repo') # 把git仓库的目录添加到系统目录3. 克隆git仓库到实例空间或云盘,把原来的主程序模块直接复制到笔记本中 类似于第二种方法,需要将git仓库路径添加到系统路径,否则会找不到导入的模块 如何处理简单项目? 如果只有几个轻量的模块,也不打算使用git进行版本管理,则直接上传到实例空间即可

from google.colab import drive drive.mount('/content/drive')加载成功以后(可以点一下刷新按钮)就可以看到云盘在实例空间中出现了 谷歌云盘默认的加载路径是"/content/drive/MyDrive"

!mkdir /content/datasets !tar -xvf "/content/drive/MyDrive/zhihu_colab/ROD-synROD.tar" -C "/content/datasets"

gpu_info = !nvidia-smi gpu_info = '\n'.join(gpu_info) if gpu_info.find('failed') >= 0: print('Not connected to a GPU') else: print(gpu_info)
