免费使用谷歌的深度学习云服务
在上一篇文章《机器学习硬件设施差?免费使用谷歌的GPU云计算平台》中,我们说明了如何使用Google Colab云平台。通过Jupyter Notebook,我们可以交互式的运行python脚本,然而对于复杂的python脚本,我们通常会编写python文件,甚至编写python模块,组合成应用。本篇我们将演示如何在Google Colab上执行python文件,克隆github项目,进行深度学习建模。
在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 Colab和Google Drive毕竟属于两个不同的产品,Google Colab相当于分配给每个用户一个云虚拟机,要挂载Google Drive当然需要授权。
接下来就是挂载Google Drive:
!mkdir -p drive
!google-drive-ocamlfuse drive
上传github上的一个文件mnist_cnn.py到Google Drive的GoogleAI文件夹(参考上一篇文章:机器学习硬件设施差?免费使用谷歌的GPU云计算平台)。
因为这个python程序使用到了Keras框架,所以运行前还需要安装Keras框架:
!pip install -q keras
现在可以运行脚本了,这个脚本是在MNIST数据集上训练一个简单的深度卷积网络。
!python3 drive/GoogleAI/mnist_cnn.py
从上面的示例可以总结出,在Notebook中执行外部命令,比如apt-get、mkdir等,需要在命令前加上!符号。如果你还需要其它的python库,可以通过pip install命令来安装,从这个意义上讲,Google Colab上可以使用几乎所有的机器学习框架。
克隆github仓库到Google Colab
找到github仓库的git地址
比如:https://github.com/wxs/keras-mnist-tutorial
克隆git仓库
!git clone https://github.com/wxs/keras-mnist-tutorial.git drive/GoogleAI/keras-mnist-tutorial
- 在Google Drive中访问文件夹
- 打开Notebook文件
- 运行
注意:该Notebook包含多个交互代码段,请依次点击每个代码段执行。
如何安装库
- 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
- 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命令,具体参考库的安装说明。
如何重启Google Colab?
!kill -9 -1
Google Colab的缺点
看了上面的介绍,你是否磨掌擦拳,准备将项目迁移到Google Colab上?且慢,天下没有免费的午餐,下面说说Google Colab的不足之处。
Google Colab最大的不足就是使用虚拟机,这意味着什么呢?
这意味着我们自行安装的库,比如Keras,在虚拟机重启之后,就会被复原。为了能够持久保存数据,我们可以借助Google Drive。还记得我们之前为了挂载Google Drive所做的操作吗?这也同样意味着重启之后,要使用Google Drive,又要把上面的步骤执行一遍。更糟糕的是,不仅仅是虚拟机重启会这样,在Google Colab的会话断掉之后也会这样,而Google Colab的会话最多能够持续12小时。
当然,Google Colab已经默认安装了Tensorflow的环境,如果你是准备使用Tensorflow进行深度学习,那还是不错的,但也仅限于小型的数据建模。
参考
- Google Colab Free GPU Tutorial
免费使用谷歌的深度学习云服务相关推荐
- 一个很好用的深度学习云平台--Floyd
前些天在逛知乎的时候发现了一个好东西,一个非常好用的深度学习云平台--Floyd.它是一个非常便捷的深度学习云计算平台,虽然我前面已经搭建过了GPU版本的tensorflow,但是在速度上还是比不上在 ...
- 关于深度学习云服务器推荐
关于深度学习云服务器推荐 免费的云服务器 免费+付费的云服务器 付费的云服务器 2022.2.7 更新推荐新的付费云服务器 自己也是最近才开始接触到机器学习和深度学习,很直观的一个感受就是跑起代码来特 ...
- 推荐一个好用的深度学习云平台--Floyd
前些天在逛知乎的时候发现了一个好东西,一个非常好用的深度学习云平台--Floyd.它是一个非常便捷的深度学习云计算平台,虽然我前面已经搭建过了GPU版本的tensorflow,但是在速度上还是比不上在 ...
- 深度学习云服务器怎么选?哪个便宜?
深度学习云服务器怎么选?机器学习是实现人工智能得方法,深度学习是实现机器学习得技术.机器学习在实现人工智能时需要人工辅助,而深度学习是为了让过程完全自动化.本篇来给大家分析一下深度学习服务器选择的问题 ...
- 谷歌利用深度学习结合荧光标记,准确预估显微图像
文章来源:ATYUN AI平台 在生物学和医学领域,显微技术为研究人员提供人肉眼无法观察到的细胞和分子的细节.透射光显微镜能够将生物样本在一边被照亮且成像,技术相对简单,生物样本耐受度高,然而缺点是产 ...
- 推荐给没有机器的小伙伴------深度学习云平台Floydhub
#第一篇博客文档# 公司的机器还没有来 Floydhub是一个简单易用的深度学习云平台,支持jupyter notebook, 非常的简单好用.而且有免费的20小时,之后每小时GPU大约0.6美元,C ...
- 谷歌发布深度学习新算法,适用于真实机器人的技能学习
https://www.toutiao.com/a6649215346496504327/ 2019-01-22 15:11:28 通过这种名叫SAC(柔性致动/评价)的强化学习算法,机器人能很快地完 ...
- 香侬科技Service Streamer:加速深度学习Web服务、极大提高GPU利用率。| 百万人学AI评选
2020 无疑是特殊的一年,而 AI 在开年的这场"战疫"中表现出了惊人的力量.站在"新十年"的起点上,CSDN[百万人学AI]评选活动正式启动.本届评选活动在 ...
- 云平台运行python_如何免费云端运行Python深度学习框架?
想运行TuriCreate,却没有苹果电脑,也没有Linux使用经验,怎么办?用上这款云端应用,让你免安装Python运行环境.一分钱不用花,以高性能GPU,轻松玩儿转深度学习. 痛点 <如何用 ...
最新文章
- MySql中4种批量更新的方法
- 前端和后端哪个工资高_嵌入式软硬件工程师哪个更有前途,工资还高
- java中什么是运行异常_在java中最常用的运行时异常是什么?
- ocp oracle 考试报名_获得Oracle认证对拓展职业前景的影响
- c# mysql 时间_c# – 无法在VS2010中将MySQL日期/时间值转换为System.DateTime
- c语言求两个有序表合成差集代码,两个有序链表求差集,合并为一个有序链表...
- centos的防火墙配置
- bert代码使用详解
- awk的关联数组版本支持
- 教你阅读vue源码的正确姿势,看完就学废!
- AlibabaCloud
- 融360叶大清:不关注短期股价变化 希望触达三四线城市年轻人
- 普通学渣的春招,秋招历程以及实习心路
- 关于产品的一些思考——豌豆荚之应用下载
- 9年研发经验,扫地盲僧带你看2022年前端未来发展趋势
- 基于JSP的网上在线租车系统平台设计与实现
- java任意长度获取随机数
- r软件中合并列_将摘要合并到软件中
- 将网络url图片链接转换为File类型对象
- codesign 想要访问您的钥匙串中的密钥