使用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基础 什么是字符串常量池? Java中的字符串常量池(String Pool)是存储在Java堆内存中的字符串池: String是java中比较特殊的类,我们可以使用new运算符创建Str ...
- RobotFramework Selenium2 EXCUTE JAVASCRIPT
https://www.cnblogs.com/lixy-88428977/p/9563247.html
- Java 基础 - java序列化 & serialVersionUID
ref: https://www.cnblogs.com/duanxz/p/3511695.html ------------------- SerialVersionUID概述 SerialVers ...
- C/C++ 公有函数无法返回私有的类对象解决方案
{ 能出这种错的说明还需要提升C++,增强对类的理解 解决方案:把你的私有的对象的私有的拷贝构造或者同类赋值改为公开的 }
- Jmeter插件:jp@gc - Dummy Sampler
Dummy Sampler可以比较方便地模拟测试场景,自定义Request Data和Response Data 1. 安装插件:打开页面插件管理网站,下载plugins-manager.jar. 在 ...
- thinkphp 正则路由
正则路由也就是采用正则表达式定义路由的一种方式,依靠强大的正则表达式,能够定义更灵活的路由规则. 路由表达式支持的正则定义必须以“/”开头,否则就视为规则表达式.也就是说如果采用: '#^blog\/ ...
- 模拟求root——cf1067B
注意最后一轮要单独求一下 且最后只能有一个root #include <bits/stdc++.h> using namespace std; #define MOD 1000000007 ...
- 计算几何——poj1410,线段不规范交
直接用kuangbin的板子,能判不规范,规范和不交 另外线段在矩形内也可以,判断方式是比较线段的端点和矩形四个角 #include <cstdio> #include <cmath ...
- 解决eclipse启动时出现“failed to load the jni shared library”
如何解决启动eclipse出现failed to load the jni shared library的问题 问题描述:启动eclipse时,出现以下弹出框 此时,即表示eclispe和jdk位数不 ...
- 02-Nov-2017 07:11:56.475 信息 [http-nio-8080-exec-10] com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource. Initializing c3p0 pool...
报错: 02-Nov-2017 07:11:56.475 信息 [http-nio-8080-exec-10] com.mchange.v2.c3p0.impl.AbstractPoolBackedD ...