Author:qyan.li
Date:2022.4.17
Topic:主要记录一下Colab使用过程中自己踩过的坑,供自己以及大家参考
一、前言:
断断续续,课程设计也已经持续将近两周的时间,两周时间几乎所有内容从零开始,踩了无数的坑,Colab白嫖GPU算是遇到的较大的第一个拦路虎,写篇博文记录一下心路历程。
提醒一下,这篇文章可能比较枯燥,主要是一些解决办法集合,读完之后感觉收获不大,也属正常;但是我还是建议你读完,并且结合其他详细讲解Colab使用方法的博文
联合阅读,会帮你节省诸多自己思考,查找答案的时间;这也是我写它的初衷,帮助大家少走一些弯路。
二、Colab
简介
网上关于Colab的介绍很多,此处不多介绍,博文最后我会给出几篇我认为写的不错的文章供大家参考。此处仅对重要内容进行阐释:
-
Colab
谷歌产品,请科学上网(划重点)小
Tips
:注册Goole
邮箱账号,对后续登录Colab
和Goole
硬盘均会使用- 科学上网方式自行
某度
或者某hub
- 科学上网方式自行
-
Colab
实际上为带有GPU
的linux
虚拟机,每次随机分配一台,因此每次进入均需要重指定指定路径小
Tips
:linux
虚拟机同时也意味着可以在其中执行linux
命令,这对路径更换,查看等诸多操作帮助很大- 执行
linux
命令,前面添加感叹号
,如运行python
文件:python dmeo.py
- 执行
-
Colab的GPU最多只能连续运行
12
个小时,超过指定时间,系统会强制中断正在运行中的程序,并且经常使用GPU
,后续被分配到GPU
的概率会变低,因此不使用GPU
时,将笔记本设置为None
三、Colab
踩坑历程
-
No sush File
类的错误:
No such File
类的错误困扰自己很久,但必须明确的事情是我们需要在Colab
中寻找接口可以将本地的文件丢上去,经过查证,需借助于Goole
硬盘:Goole
硬盘链接:Google 云端硬盘一、下面操作前提,你已经注册成功
Goole
账号,并且成功登录硬盘:- 点击新建,上传文件夹,本地选中文件上传:
- 上传完成后,点击我的云端硬盘,如果文件已经存在说明:上传成功
Goole
云端硬盘提供Colab
接口,点击新建->更多->Goole Colaboratory
,就可以在创建Colab
的项目
二、上面的操作完成,仅代表你完成了解决问题的第一步,下面开始第二步:
-
页面创建完成,点击左侧文件类型的图标,一般会显示出
sample_data
文件,此时我们还没有看到我们上传的文件夹 -
挂在载是
Goole
硬盘,点击文件夹+循环三角的小图标,显示挂载Goole
硬盘,接下来,按步骤操作,挂载成功,一般不会出现问题小
Tips
:此处同样可以借助于程序实现挂载操作:
from google.colab import drive drive.mount('/content/drive/')
三、重要的步骤,设置文件目录
前面提及
Goole
的Colab
本质上为一台随机分配的linux
虚拟机,因为是可以执行Linux
命令的,只不过命令前面需要添加!感叹号
以执行命令可以通过
!ls
查看当前目录下所有文件:
!ls output->drive sample_data
理论上,linux命令可以借助于cd实现目录切换,但在Colab中测试cd并不能完成目录切换,不报错,但是也不会生效,因此我们需要借助于其他方式实现目录指定,因进入特定的文件夹目录,执行我们的文件:
设置文件目录;
import os filePath = "xx/xx" ## 项目目标目录 os.chdir(filePath)
Ok,
至此,问题彻底解决,可以为所欲为啦参考文献:https://blog.csdn.net/qq_28019591/article/details/81388697
-
can't connect to sever
问题 上述这个问题不一定每个同学都会遇到,主要是利用
Colab
做Computer Vision
的同学可能会遇到。 上述问题的出现,主要是
cv2
的imshow
函数导致的,借助于Opencv
进行图像处理时,在本机上运行时,经常会借助于imshow
函数对处理后的图像或视频进行展示,但是上述提及Colab
是一个linux
虚拟机,是没有办法调用windows
窗口,进行图像或视频显示的,因此会出现can't connect to sever
的错误解决办法也很简单,注释掉上述语句即可
-
Colab
文件过大,上传速度慢: 一般情况下,借助于
GPU
时,项目文件比较庞大,此时将文件上传至Goole
云盘的速度比较慢,此时也没有什么特别好的解决办法:-
一种方法:
等,可以做点其他的事情,把电脑放在一边,等他跑完
我当时就是把电脑放在一边,自己去上课,课程结束,文件上传完毕
-
另外办法:
将文件进行压缩,将压缩包上传至
Goole
硬盘,而后进行解压缩操作:解压命令:
!unzip FilePath FilePath = "xx/xx"
参考文献:https://blog.csdn.net/qq_15557299/article/details/107314738
-
四、其他参考文献:
参考文献: