使用Colaboratory的免费GPU训练神经网络
1 Colaboratory 介绍
Colaboratory 是一个 Google 研究项目,旨在帮助传播机器学习培训和研究成果。它是一个 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行。
2 搭建 Colaboratory
打开谷歌,使用邮箱登陆你的 Google 账号。(没有帐号的使用邮箱注册一个就行)
登录 Google 账号之后,在页面右上角的 Google 应用里就可进入云端硬盘里
进入 Google 云端硬盘之后,需要关联 Colaboratory。点击我的云端硬盘 -> 更多 -> 关联更多应用。然后,搜索并找到 Colaboratory,然后关联。(我已经关联了 Colaboratory,所以展示的已经存在Colaboratory)
3 使用 Colaboratory
3.1 准备
关联 Colaboratory 之后,新建文件夹(以 app 为例)。
进入 app 文件夹,空白处右键点击更多 -> Colaboratory,即可创建 Jupyter Notebook。
通过点击文件名实现重命名,例如重命名为 test.ipynb。
配置 Colaboratory,这一步非常重要也是非常强大的。点击修改 -> 笔记本设置。
选择使用 Python 2 还是 Python 3。更重要的,可以选择使用 GPU 硬件加速。设置完毕后点击保存。
查看GPU是否在colab中
import tensorflow as tf
tf.test.gpu_device_name()
如果结果为空,则不能使用GPU;如果结果为/device:GPU:0,则可以使用GPU。
查看显卡内存使用上限
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
3.2 运行基本代码
3.3 运行.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 Drive了!
!mkdir -p drive
!google-drive-ocamlfuse drive
注:这个时候输入!ls
可能看不到根目录drive,找不到drive就找不到我们云盘的文件!解决办法是,键入下边的代码:
from google.colab import drive
drive.mount('/content/drive/')
点击出现的链接,在链接中复制验证码,在链接下方输入验证,显示Mounted at /content/drive/即为成功。
将想要执行的mnist_cnn.py文件上传到位于Google云端硬盘上的app文件夹。然后使用cd
切换到app文件夹下,键入如下命令。
!python3 mnist_cnn.py
对于将代码或者数据集文件传到google云盘上,建议安装Google备份与同步软件!
4 补充
安装Keras:
!pip install -q keras
import keras
安装PyTorch:
!pip install -q http://download.pytorch.org/whl/cu75/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl torchvision
import torch
安装OpenCV:
!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python
import cv2
安装其他库:
用!pip install或者!apt-get install命令。
使用Colaboratory的免费GPU训练神经网络的更多相关文章
- Google Colab免费GPU使用教程(一)
一.前言 现在你可以开发Deep Learning Applications在Google Colaboratory,它自带免费的Tesla K80 GPU.重点是免费.免费!(国内可能需要tz) 这 ...
- 使用Google Colab训练神经网络(二)
Colaboratory 是一个 Google 研究项目,旨在帮助传播机器学习培训和研究成果.它是一个 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行.Colaborat ...
- 使用Keras进行多GPU训练 multi_gpu_model
使用Keras训练具有多个GPU的深度神经网络(照片来源:Nor-Tech.com). 摘要 在今天的博客文章中,我们学习了如何使用多个GPU来训练基于Keras的深度神经网络. 使用多个GPU使我们 ...
- 『开发技术』GPU训练加速原理(附KerasGPU训练技巧)
0.深入理解GPU训练加速原理 我们都知道用GPU可以加速神经神经网络训练(相较于CPU),具体的速度对比可以参看我之前写的速度对比博文: [深度应用]·主流深度学习硬件速度对比(CPU,GPU,TP ...
- 使用GPU训练TensorFlow模型
查看GPU-ID CMD输入: nvidia-smi 观察到存在序号为0的GPU ID 观察到存在序号为0.1.2.3的GPU ID 在终端运行代码时指定GPU 如果电脑有多个GPU,Tensorfl ...
- Google Colab 免费GPU服务器使用教程 挂载云端硬盘
一.前言二.Google Colab特征三.开始使用3.1在谷歌云盘上创建文件夹3.2创建Colaboratory3.3创建完成四.设置GPU运行五.运行.py文件5.1安装必要库5.2 挂载云端硬盘 ...
- stanford coursera 机器学习编程作业 exercise4--使用BP算法训练神经网络以识别阿拉伯数字(0-9)
在这篇文章中,会实现一个BP(backpropagation)算法,并将之应用到手写的阿拉伯数字(0-9)的自动识别上. 训练数据集(training set)如下:一共有5000个训练实例(trai ...
- Pytorch多GPU训练
Pytorch多GPU训练 临近放假, 服务器上的GPU好多空闲, 博主顺便研究了一下如何用多卡同时训练 原理 多卡训练的基本过程 首先把模型加载到一个主设备 把模型只读复制到多个设备 把大的batc ...
- 机器学习入门15 - 训练神经网络 (Training Neural Networks)
原文链接:https://developers.google.com/machine-learning/crash-course/training-neural-networks/ 反向传播算法是最常 ...
随机推荐
- 什么是Java中的自动拆装箱
1.基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值 ...
- Hive中SQL查询转换成MapReduce作业的过程
- mysql 复制原理详解
http://www.cnblogs.com/kristain/articles/4142970.html
- 【学术篇】SPOJ COT 树上主席树
这是学完主席树去写的第二道题_(:з」∠)_ 之前用树上莫队水过了COT2... 其实COT也可以用树上莫队水过去不过好像复杂度要带个log还是怎么样可能会被卡常数.. 那就orz主席吧.... 写了 ...
- Python学习笔记(一)——输入与输出
输出:——print() Python中的输出使用print()完成 >>> 在屏幕中输出Hello World >>> print('Hello World') ...
- Windows shutdown
用法: shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f] ...
- 「题解」:X国的军队
问题 A: X国的军队 时间限制: 1 Sec 内存限制: 256 MB 题面 题面谢绝公开. 题解 简单贪心. 按照存活的士兵数量(即参加战斗的士兵数量减去阵亡的士兵数量)排序. 若存活士兵数量相 ...
- C/C++实现单向循环链表(尾指针,带头尾节点)
C语言实现单向循环链表,主要功能为空链表创建,链表初始化(头插法,尾插法),链表元素读取,按位置插入,(有序链表)按值插入,按位置删除,按值删除,清空链表,销毁链表. 单向循环链表和单向链表的区别:( ...
- kafka-node+socket.io 测试配置
1.安装需要插件 npm install express npm install socket.io npm install kafka-node 2.kafkatest.js文件 var exp ...
- SP1296 SUMFOUR - 4 values whose sum is 0
传送门 解题思路 四个数组一起做有点炸.先把他们合并成两个数组,然后让一个数组有序,枚举另一个数组的元素,二分即可.时间复杂度\(O(n^2logn^2)\) 代码 #include<iostr ...