在进行深度学习过程中,不可避免需要进行炼丹的操作,而博主的电脑本身性能就很拉跨,一旦再运行其他的应用便是寸步难行,最好的办法便是再买一台,哈哈哈,当然也可以使用一些云服务器来进行,博主这里选择的是Colab,接下来便是配置环境过程。
首先科学上网打开Google Drive。Google Drive类似百度网盘,我们通过Colab跑代码时,code和dataset都可以放在Google Drive里直接调用。最方便的一点是,在复现其他研究者的工作时,如果dataset通过Google Drive链接分享,我们可以将一键转存到我们的Google Drive中,避免长时间的大文件下载和上传。下面是打开Google Drive的界面:
右键新建Google Colaboratory
- 其实就是一个jupyter笔记本,可以直接在这里面编写和运行代码
关于jupyter笔记本的使用,大家可以参考博主这篇博文:
深度学习之环境配置 jupyter notebook
连接GPU与导入Google Drive
- 修改-笔记本设置-硬件加速器
单击右上方“连接”,就可以自动连接到GPU(实际上在运行代码时也会自动连接)。
连接后,输入下面命令并点击代码块左侧按钮运行下面的代码,查看GPU情况:
! /opt/bin/nvidia-smi
可以看到其分配了一个Tesla T4的服务器
- 接着分别运行这两波代码,将你google drive里面的数据导入进来用于深度学习或者其它操作。
import glob
# Importing drive method from colab for accessing google drive
from google.colab import drive
# Mounting drive
# This will require authentication : Follow the steps as guided
drive.mount('/Data')
之后我们可以查看导入成功了吗:
!ls /Data/'My Drive'
OK了
- 然后我们将文件上传到我们的谷歌云盘
上传成功后,我们再次打开CoLab,可以看到我们上传到云盘的文件
将想要运行的项目目录复制地址:如下
切换至项目路径,添加以后并不能成功引入
import os
os.chdir('/content/drive/My Drive/项目路径/项目文件夹/')
没有报错就是成功,然后我们的.py文件是不能直接运行的,可以以下命令运行。
执行:
`%run main.py`
性能还是很不错的。
不过就是时常会出现云盘断联情况,不太稳定,且对于较大文件,上传云盘速度太慢。不过应对简单的小demo是木的问题的。
这里博主想将YOLO项目上传到服务器上来运行。这是一个十分漫长的过程,呜呜呜。
关于长时间无操作掉线问题
想必大家发现了,通过该服务器运行时时常会出现掉线情况,这是由于我们长时间无操作造成的,而炼丹是一个漫长的过程,我们无法一直盯着,那么该如何解决呢?
首先在Colab界面打开控制台(快捷键Ctrl+Shift+I),然后复制以下代码(这段代码的功能是设置每隔60000ms也就是1min自动点击一下Colab的“连接”操作,这样就不至于长时间误操作而导致自动断开连接啦,当然这只是个例子,方法不唯一,大家也可以调整下自己的间隔时间):
function ClickConnect(){
console.log("Working");
document.querySelector("colab-toolbar-button#connect").click()
}
setInterval(ClickConnect, 60000)
把上面这段代码添加到下图所示的位置 ,然后敲一下回车键便可以了。