Colab免费使用GPU资源及使用踩坑记录---For初学者

Author:qyan.li

Date:2022.4.17

Topic:主要记录一下Colab使用过程中自己踩过的坑,供自己以及大家参考



一、前言:

​ 断断续续,课程设计也已经持续将近两周的时间,两周时间几乎所有内容从零开始,踩了无数的坑,Colab白嫖GPU算是遇到的较大的第一个拦路虎,写篇博文记录一下心路历程。

​ 提醒一下,这篇文章可能比较枯燥,主要是一些解决办法集合,读完之后感觉收获不大,也属正常;但是我还是建议你读完,并且结合其他详细讲解Colab使用方法的博文联合阅读,会帮你节省诸多自己思考,查找答案的时间;这也是我写它的初衷,帮助大家少走一些弯路。

二、Colab简介

​ 网上关于Colab的介绍很多,此处不多介绍,博文最后我会给出几篇我认为写的不错的文章供大家参考。此处仅对重要内容进行阐释:

  1. Colab谷歌产品,请科学上网(划重点)

    Tips:注册Goole邮箱账号,对后续登录ColabGoole硬盘均会使用

    • 科学上网方式自行某度或者某hub
  2. Colab实际上为带有GPUlinux虚拟机,每次随机分配一台,因此每次进入均需要重指定指定路径

    Tipslinux虚拟机同时也意味着可以在其中执行linux命令,这对路径更换,查看等诸多操作帮助很大

    • 执行linux命令,前面添加感叹号,如运行python文件:python dmeo.py
  3. Colab的GPU最多只能连续运行12个小时,超过指定时间,系统会强制中断正在运行中的程序,并且经常使用GPU,后续被分配到GPU的概率会变低,因此不使用GPU时,将笔记本设置为None

三、Colab踩坑历程

  1. 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/')
      

    三、重要的步骤,设置文件目录

    前面提及GooleColab本质上为一台随机分配的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

  2. can't connect to sever问题

    ​ 上述这个问题不一定每个同学都会遇到,主要是利用ColabComputer Vision的同学可能会遇到。

    ​ 上述问题的出现,主要是cv2imshow函数导致的,借助于Opencv进行图像处理时,在本机上运行时,经常会借助于imshow函数对处理后的图像或视频进行展示,但是上述提及Colab是一个linux虚拟机,是没有办法调用windows窗口,进行图像或视频显示的,因此会出现can't connect to sever的错误

    解决办法也很简单,注释掉上述语句即可

    参考文献:https://www.jianshu.com/p/74b902950c4b

  3. Colab文件过大,上传速度慢:

    ​ 一般情况下,借助于GPU时,项目文件比较庞大,此时将文件上传至Goole云盘的速度比较慢,此时也没有什么特别好的解决办法:

    • 一种方法

      ​ 等,可以做点其他的事情,把电脑放在一边,等他跑完

      我当时就是把电脑放在一边,自己去上课,课程结束,文件上传完毕

    • 另外办法

      ​ 将文件进行压缩,将压缩包上传至Goole硬盘,而后进行解压缩操作:

      解压命令:

      !unzip FilePath    FilePath = "xx/xx"
      

      参考文献:https://blog.csdn.net/qq_15557299/article/details/107314738

四、其他参考文献:

参考文献:

https://blog.csdn.net/lumingha/article/details/104825702

https://blog.csdn.net/qq_36890370/article/details/106160805

猜你喜欢

转载自blog.csdn.net/DALEONE/article/details/124226187