-
使用Colaboratory运行自己代码的流程
-
-
从谷歌云盘进入-点击新建-更多-Google Colaboratory-
-
-
新创建的Colaboratory什么都没有
-
-
调用GPU
-
-
打开GPU
-
-
edit-笔记本设置
-
- 在新弹出的界面里面选择GPU即可
-
-
查看自己是否处于GPU环境
-
- 只需要运行下列代码即可
import tensorflow as tf tf.test.gpu_device_name()
- 如果显示下面的代码就证明是在GPU环境下
- 但如果什么都没有显示出来的话,说明不是在GPU环境,那么返回到[打开GPU](file:///C:/Users/Lenovo/AppData/Local/Programs/RemNote/resources/app.asar/build/document/jp7cbEhJBFWGuHb4p)重新设置即可
-
查看GPU显存信息
-
- !/opt/bin/nvidia-smi
- 可以看到这个GPU竟然是11G的特斯拉[K80](file:///C:/Users/Lenovo/AppData/Local/Programs/RemNote/resources/app.asar/build/document/5Eiwth4Sgq4tgwvfr),真是出乎自己的意料呀
-
-
输入这段代码,可以查看出当前的位置
-
import os cur_dir = os. getcwd() print(cur_dir)
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0oDV5L7s-1630684056712)(https://raw.githubusercontent.com/LvShuaiChao/blog_img/main/20210903231905.png)]
-
而content目录初始情况下只有一个文件夹和sample_data
-
-
挂载谷歌云盘
-
- 点击确定即可
- 之后会让选择账号
- 账号选择好之后,就可以看到对应的谷歌网盘中的文件了
- 这里需要注意的是,这个点击链接、授权、输入coda的过程,一共有两次,下面还需要再来一次,完全完成后,效果是下面的界面
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t58la1aD-1630684056722)(https://raw.githubusercontent.com/LvShuaiChao/blog_img/main/20210903231911.png)]
-
上传自己下载的GitHub代码
-
-
上传的时候上传对应压缩包或者文件夹均可
-
- 点击新建
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Lw356DS-1630684056724)(https://raw.githubusercontent.com/LvShuaiChao/blog_img/main/20210903231912.png)]
- 选择上传文件或者上传文件夹
- 我这里选择的是直接上传文件夹,会提示我是否真的要上传,这不废话嘛,肯定点确定上传呀
- 之后就会在右下角开始上传了,速度取决于你访问外网的速度,这应该是基操了吧。什么?你无法访问外网?那你是怎么坚持到这一步的?
- 好了,现在就上传完成了
-
上传完数据之后运行下面的代码即可调用自己的数据
`!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上。
-
-
还是让选择账号,点击即可
-
-
选择完账号之后,是让给谷歌云盘授权,点击允许即可
-
-
然后会跳出来一段代码,我们将这段代码复制粘贴回刚才的页面上即可
-
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jlyZOyVs-1630684056737)(https://raw.githubusercontent.com/LvShuaiChao/blog_img/main/20210903231920.png)]
-
-
然后只需要运行以下代码
-
!mkdir -p drive !google-drive-ocamlfuse drive import os import sys os.chdir('drive/Colab Notebooks')
-
目的是进到我们需要到的目录下,然后就可以在当前目录下查看到自己的代码了,这个是刚才上传的Retinex-net文件夹
-
-
可以看到,工作目录已经是我们需要的文件夹了,直接在这里运行即可了
-
-
-
运行代码
-
-
运行系统命令
-
-
只需要在命令前面加一个!即可
-
- 例如
- !/opt/bin/nvidia-smi
-
-
运行单独的Python代码
-
- 先进入Python环境,再在这个环境下面运行对应的Python命令即可
- 不过在这里输入代码的时候,是以密码的形式输入的,也是很迷了
-
运行Python文件
-
- !python main.py
- 注意Python前面有个感叹号
-
-
Colaboratory的连接
-
-
colaboratory什么时候会断掉
-
-
每隔12小时就会自动断一次
-
- 挂载只有12个小时,也就是说12小时之后你就需要重现挂载一次,所以就需要我们在进行模型训练的时候记得要加上checkpoint,不然你如果训练的模型超过12小时,Google断开挂载你就白白浪费12小时啦。
- 这个是无法避免的,当然了,中间你可以先暂停一次,然后之后就又可以重新连接
-
假如自己离开页面太久的话,也会自动断掉的
-
- 假如电脑断网了,或者关机重启了,只要时间不是特别长一般是没事的,但假如说时间太久的话,就只能是重新训练了
-
长时间运行一类任务会断掉
-
- 请不要使用Colaboratory进行加密货币挖矿。不支持这样做,可能会导致服务不可用。我们鼓励希望通过Colaboratory UI运行连续或长时间运行的计算的用户使用本地运行时。
- 以我的经验,“长时间运行的计算”包括训练神经网络以及运行超过两三个小时的bash命令。如上所述,这些类型的长时间运行的任务可能导致服务不可用,通常持续不超过几个小时。
-
挖矿会导致该账号的Colaboratory不可用
-
-
如何防止Colaboratory断掉呢
-
- 安装[Auto reconnect colab](file:///C:/Users/Lenovo/AppData/Local/Programs/RemNote/resources/app.asar/build/document/GCrXEkdhke2xry7Gy),只要浏览器打开页面有网,就可以一直给你连接上,
- 我这里设置的是2分钟连接一次,具体时间间隔,就看你自己的心情了
-
-
Colaboratory是否可以在本地端使用呢
-
- 是可以的
- 这个是官方的文档
- https://research.google.com/colaboratory/local-runtimes.html
- 我们下面按照这个官方文档来配置自己的本地端
-
使用Colaboratory注意事项
-
- 上传数据集的时候,一定要上传到谷歌网盘中,并且一定要上传的是压缩包,在Colaboratory中解压才行
-
对Colaboratory的感受
-
-
每运行一步的时候,需要等待的时间都特别长,一直是在转圈
-
- 比如这个,在本地端的时候,运行可能就只是几毫秒的事情,但是在Colaboratory上面却需要等待个几秒到几十秒不等,甚至永远等不到结果出来
-
-
Colaboratory的状态
-
-
什么是正常的Colaboratory状态
-
- 可以显示RAM和Disk
-
Busy是什么意思呢
-
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WzYoQ7aW-1630684056749)(https://raw.githubusercontent.com/LvShuaiChao/blog_img/main/20210903231928.png)]
- GPU忙,不能用
-
如何改变busy的状态呢
-
- 重新连接Colaboratory即可
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KJnhw0xd-1630684056750)(https://raw.githubusercontent.com/LvShuaiChao/blog_img/main/20210903231929.png)]
- 点完之后,状态就变成了restarting重启
- 不一会儿,重启就完成了,可以看到,现在已经重新连接上了
- 但是需要注意,重启之后,所有的状态就都清零了,需要重新再运行一遍代码才可以
-
-
Colaboratory报错
-
-
Automatic saving failed. This file was updated remotely or in another tab.
-
-
-
网速的原因,问题不大,结果是可以保存的,稍等一下即可
-
看一下是不是有文件打开了
-
- 这个就涉及到了没有写入权限的问题了,解决方法很简单,将这个打开的文件关闭即可
-
-
使用谷歌Colaboratory运行自己代码的全过程+踩坑记录
最新推荐文章于 2024-11-27 21:05:26 发布