谷歌Colab运行Tensorflow、Keras、Theano、PyTorch简单使用(持续更新)

Colab(Colaboratory)是谷歌提供的一个免费的可用于机器学习编程的云端笔记本,提供了免费的GPU与TPU云端加速设备,解决了普通电脑显卡配置不足的问题,官网网址:欢迎使用 Colaboratory

Colab为谷歌提供的云平台,所以需要一些操作才能使用,该平台可以运行TensorFlow、Keras、Theano、PyTorch代码,唯一的缺点就是容易掉线,导致代码运行到一半时停止,不过掉线的情况与自家网速有关,也与时间有关,可参考西方国家与我国的时差,尽量避免在傍晚与晚上使用,博主亲测……

本篇博文内容较杂,整合了博主在使用Colab时的一些使用技巧,可以通过 Ctrl + F 搜索关键字,查找需要的内容

新建笔记本

在起始页菜单栏选中“文件”,选择“新建笔记本”,可在新建的笔记本中下载依赖、库等,执行相关代码

谷歌Colab运行Tensorflow、Keras、Theano、PyTorch简单使用(持续更新)_第1张图片

执行代码

将代码输入代码框中,点击代码框左侧上方的“播放”按钮执行

安装相关库和授权

from google.colab import drive
drive.mount('/content/drive/')

其中 ‘/content/drive/’ 可自行定义位置名称

代码执行后,需要手动跳转至执行结果的网址,登录谷歌云盘,获取授权码,将其输入执行结果的输入框中,回车确认

此时该笔记本挂载至谷歌云盘,Colab将自动保存所有输入

该部分只需在笔记本第一次使用时添加运行,再次打开笔记本时无需对其进行任何操作

安装依赖

!pip install -q keras

其中keras可替换为其他依赖,不过Colab中keras已经提供,不需要再次下载(同样torch也被提供,不需要下载)

运行上传的代码

!python3 "/content/drive/My Drive/Colab Notebooks/test.py"

上传的代码若保存在谷歌云盘中,需要在笔记本中装载Google云盘(如图所示),之后才可见上传的代码文件,"/content/drive/My Drive/Colab Notebooks/test.py" 为文件路径,可自行修改

谷歌Colab运行Tensorflow、Keras、Theano、PyTorch简单使用(持续更新)_第2张图片

推荐将代码直接复制粘贴至笔记本提供的代码框中,直接运行,自动保存至谷歌云盘

也可将代码上传至笔记本中,使用同样的命令实现代码运行,但该部分的代码在笔记本关闭后将会被系统清除相关文件

添加GPU/TPU

在笔记本菜单栏中的“代码执行程序”中选择“更改运行时类型”,添加GPU/TPU加速硬件

谷歌Colab运行Tensorflow、Keras、Theano、PyTorch简单使用(持续更新)_第3张图片
Python版本问题

Colab官方提出将在今后某一天不再使用Python2版本,因此对于其中运行的代码,最好使用Python3版本

对于已有的Python2版本代码,Python官方提供了Python2代码自动转Python3代码的程序方法,官网教程如下:2to3 - 自动将 Python 2 代码转为 Python 3 代码

若电脑中下载过Python,一般会自带有 2to3 程序,只需在命令行中输入以下命令,2to3 程序将会自动转换代码,保留原始代码文件的前提下,产生新的Python3代码文件

2to3 -w example.py

TensorFlow使用

TensorFlow相关代码可以在Colab上直接运行,不需要环境配置

修改Tensorflow运行版本

原本Colab默认以TensorFlow1.x 版本运行,但某次更新后,默认以TensorFlow2.x 版本运行,对于TensorFlow的版本使用,只需按以下代码修改使用的版本即可

%tensorflow_version 2.x
# %tensorflow_version 1.x
import tensorflow as tf

Keras使用

在Colab暂未更新前,可直接使用Keras,但其更新后,运行原先的Keras代码将会报错,如下图
谷歌Colab运行Tensorflow、Keras、Theano、PyTorch简单使用(持续更新)_第4张图片
提示TensorFlow版本不正确,需要使用 tf.keras 替代或是修改TensorFlow版本为1.x,但该版本的修改不能简单地使用本教程中提及的命令解决,但可在导入Keras包时,修改其包名如下

from tensorflow.python.keras.datasets import mnist
from tensorflow.python.keras.utils import np_utils
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense

但修改包名的用法在某些情况下不起作用,例如

from tensorflow.python.keras import optimizers

Colab仍旧报错说用 tf.keras 替代,其余解决方法暂未知晓,若是仅需训练的结果,可以使用如下代码替换

adam = tf.keras.optimizers.Adam(lr=lr, beta_1=0.9, beta_2=0.999, epsilon=None, decay=decay, amsgrad=False)

Theano使用

Theano的使用基于Keras的后端,需要使用Theano,则需要修改Keras的后端设置,Colab默认Keras后端为TensorFlow,在程序最前端添加如下代码即可实现Keras的后端框架替换:

import os
os.environ['KERAS_BACKEND'] = 'theano'

之后便可直接写入Theano相关代码

PyTorch使用

PyTorch相关代码可以在Colab上直接运行,不需要环境配置

使用Tensorboard

Colab运行代码后,会在虚拟机文件中产生Tensorboard图表文件,可将其下载到本地,使用终端运行查看

选中笔记本左侧导航中的“文件”,可查看虚拟机文件,文件的下载只能下载具体的某一文件,无法下载某一文件夹

文件路径问题

若是运行上传至谷歌云盘的文件,其路径设置与云盘存储位置相关

若是运行笔记本中的代码,其路径与 drive.mount(’/content/drive/’) 相关,该笔记本存储位置为 ‘/content/drive/’ ,即当前位置为 '/content/drive/'

文件的上传与下载

选中笔记本左侧导航中的“文件”,可查看虚拟机文件,文件的上传与下载只能针对具体的某一文件,无法下载某一文件夹,但上传文件可以使用全选上传,但嵌套的文件夹需要自行创建,再将内部文件上传

备注说明

在同一笔记本中添加代码框,执行其中代码,该代码产生的数据文件等会影响或可用于下一代码框,若退出某一笔记本或笔记本掉线,其虚拟机中的数据文件会保留一段时间(大致几分钟到十几分钟),若时间过长,虚拟机将会格式化为初始状态

你可能感兴趣的:(实用技巧)