现在,你可以开发深度学习与应用谷歌Colaboratory -on的免费特斯拉K80 GPU -使用Keras,Tensorflow和PyTorch。
你好!我将向您展示如何使用Google Colab,这是Google为AI开发人员提供的免费云服务。使用Colab,您可以免费在GPU上开发深度学习应用程序。
感谢KDnuggets!
我很高兴地宣布这篇博客文章被选为2018年2月的KDnuggets Silver Blog!在KDnuggets上阅读此内容。
什么是Google Colab?
谷歌Colab是一个免费的云服务,现在它支持免费的GPU!
您可以;
- 提高您的Python编程语言编码技巧。
- 开发利用流行的库如深学习应用Keras,TensorFlow,PyTorch,和OpenCV的。
将Colab与其他免费云服务区分开来的最重要特征是:Colab提供GPU并且完全免费。
有关该服务的详细信息,请参见常见问题页面。
让Google Colab随时可用
在Google云端硬盘上创建文件夹
由于Colab正在开发您自己的Google云端硬盘,我们首先需要指定我们可以使用的文件夹。我在Google云端硬盘上创建了一个名为“ app ” 的文件夹。当然,您可以使用其他名称或选择默认的Colab Notebooks文件夹而不是app文件夹。
我创建了一个空的“app”文件夹
创建新的Colab笔记本
通过右键单击>更多> Colaboratory创建新笔记本
右键单击>更多> Colaboratory
通过单击文件名重命名笔记本。
设置免费GPU
改变默认硬件(CPU到GPU,反之亦然)非常简单; 只需按照编辑>笔记本设置或运行时>更改运行时类型,然后选择GPU作为硬件加速器。
使用Google Colab运行基本Python代码
现在我们可以开始使用Google Colab了。
我将从Python Numpy Tutorial中运行一些基本数据类型代码。
它按预期工作:)如果你不知道Python是最流行的AI编程语言,我会推荐这个简单而干净的教程。
使用Google Colab运行或导入.py文件
首先运行这些代码,以便安装必要的库并执行授权。
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
当您运行上面的代码时,您应该看到如下结果:
完成授权程序后,
安装您的Google云端硬盘:
!mkdir -p drive
!google-drive-ocamlfuse drive
安装Keras:
!pip install -q keras
将mnist_cnn.py文件上传到Google云端硬盘上的应用文件夹。
mnist_cnn.py文件
运行下面的代码在MNIST数据集上训练一个简单的convnet。
!python3 drive/app/mnist_cnn.py
从结果中可以看出,每个时期只持续11秒。
下载泰坦尼克号数据集(.csv文件)和显示前5行
如果要将.csv文件从url下载 到“ app”文件夹,只需运行:
!wget https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/datasets/Titanic.csv -P drive/app
您可以将.csv文件直接上传到“app”文件夹而不是wget方法。
在“ app ”文件夹中读取 .csv文件并显示前5行:
import pandas as pd
titanic = pd.read_csv(“drive/app/Titanic.csv”)
titanic.head(5)
克隆Github Repo到Google Colab
用Git克隆Github repo很容易。
第1步:找到Github Repo并获取“Git”链接
找到任何Github repo使用。
例如:https://github.com/wxs/keras-mnist-tutorial
克隆或下载>复制链接!
2. Git克隆
只需运行:
!git clone https://github.com/wxs/keras-mnist-tutorial.git
3.在Google云端硬盘中打开文件夹
文件夹与Github repo当然相同:)
4.打开笔记本
右键单击>打开方式> Colaboratory
5. 运行
现在,您可以在Google Colab中运行Github repo。
一些有用的提示
1.如何安装库?
Keras
!pip install -q keras
import keras
PyTorch
from os import path
from wheel.pep425tags import get_abbr_impl, get_impl_ver, get_abi_tag
platform = '{}{}-{}'.format(get_abbr_impl(), get_impl_ver(), get_abi_tag())
accelerator = 'cu80' if path.exists('/opt/bin/nvidia-smi') else 'cpu'
!pip install -q http://download.pytorch.org/whl/{accelerator}/torch-0.3.0.post4-{platform}-linux_x86_64.whl torchvision
import torch
或试试这个:
!pip3 install torch torchvision
MxNet
!apt install libnvrtc8.0
!pip install mxnet-cu80
import mxnet as mx
OpenCV的
!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python
import cv2
XGBoost
!pip install -q xgboost==0.4a30
import xgboost
GraphViz的
!apt-get -qq install -y graphviz && pip install -q pydot
import pydot
7zip Reader
!apt-get -qq install -y libarchive-dev && pip install -q -U libarchive
import libarchive
其他图书馆
!pip install
或 !apt-get install
安装其他库。
2. GPU工作吗?
要查看您当前是否在Colab中使用GPU,可以运行以下代码以进行交叉检查:
import tensorflow as tf
tf.test.gpu_device_name()
3.我使用的是哪种GPU?
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
目前,Colab仅提供特斯拉K80。
RAM怎么样?
!cat /proc/meminfo
那CPU怎么样?
!cat /proc/cpuinfo
6.更改工作目录
通常,当您运行此代码时:
!ls
您可能会看到datalab和驱动器文件夹。
因此,您必须在定义每个文件名之前添加drive / app。
要解决此问题,您只需更改工作目录即可。(在本教程中,我更改为app文件夹)使用以下简单代码:
import os
os.chdir("drive/app")
运行上面的代码后,如果再次运行
!ls
您将看到应用程序文件夹内容,不再需要一直添加驱动器/应用程序。
7.“ No backend with GPU available
”错误解决方案
如果您遇到此错误:
Failed to assign a backend
No backend with GPU available. Would you like to use a runtime with no accelerator?
稍后再试一次。很多人现在正在GPU上使用轮胎,并且当所有GPU都在使用时会出现此消息。
参考
8.如何清除所有单元格的输出
按照工具>>命令选项板>>清除所有输出
9.“不应解析apt-key输出(stdout不是终端)”警告
如果您遇到此警告:
Warning: apt-key output should not be parsed (stdout is not a terminal)
这意味着身份验证已经完成。您只需要安装Google云端硬盘:
!mkdir -p drive
!google-drive-ocamlfuse drive
10.如何在Google Colab中使用Tensorboard?
我推荐这个repo:
https://github.com/mixuala/colab_utils
11.如何重新启动Google Colab?
要重新启动(或重置)虚拟机,只需运行:
!kill -9 -1
12.如何向Google Colab添加表单?
为了不在代码中每次都更改超参数,您只需将表单添加到Google Colab即可。
例如,我添加了包含**learning_rate**
变量和**optimizer**
字符串的表单。
13.如何查看函数参数?
要在TensorFlow,Keras等中查看函数参数,只需在函数名后添加问号(?):
现在,您无需单击TensorFlow网站即可查看原始文档。
结论
我认为Colab将为世界各地的深度学习和人工智能研究带来新的气息。
如果你发现这篇文章有用,那么如果你给它一些掌声并分享以帮助其他人找到它会意味着很多!并随时在下面发表评论。
你可以在LinkedIn上找到我。
最后一点
此博客文章将不断更新。
更新日志
2018年1月26日
- “插入应用程序文件夹到路径” 删除
- “下载,阅读和显示.csv文件” 补充道
- “一些有用的提示” 补充说
2018年1月27日
- “更改工作目录” 补充说
2018年1月28日
- “将Github Repo克隆到Google Colab” 补充道
- “pip install mxnet”补充道
2018年1月29日
No backend with GPU available.
添加错误解决方案
2018年2月2日
- “MxNet安装” 发生了变化(CPU到GPU)
2018年5月2日
- “如何清除所有细胞的输出” 补充说
-
apt-key output should not be parsed (stdout is not a terminal)
警告补充说
2018年11月2日
- “如何使用Tensorboard与谷歌Colab” 添加
2018年2月20日
- KDnuggets重新发布了本教程。
2018年2月28日
- “如何重新启动Google Colab?” 补充道
2018年9月3日
- 如何向Google Colab添加表单?添加
2018年3月21日
- 如何查看函数参数?添加
2018年5月20日
- PyTorch安装已更新
原文:https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d
作者:fuat