利用谷歌colab薅羊毛过程的复制、解压等操作跳坑‘小‘全

谷歌colab跳坑操作记录

  1. 前提:科学正义地上网;
  2. 创建自己的谷歌账号;
  3. 使用谷歌账号中的google drive
  4. 默认基础:添加colab;

1、挂载colab(很多博客也提到)

!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}

  • 点击链接,输入两次验证码
  • 出现正确字样
    利用谷歌colab薅羊毛过程的复制、解压等操作跳坑‘小‘全_第1张图片
  • 左边的:原先情况如下;
    利用谷歌colab薅羊毛过程的复制、解压等操作跳坑‘小‘全_第2张图片

2、挂载 google drive

  • 默认情况下:google drive盘名叫:My Driv
  • 缺点:复制路径时候 My Drive容易出错(当然也可以利用\ 转义字符,解决问题,但是还是这样保险一些)。
  • 因此需要挂载;
!mkdir -p drive
!google-drive-ocamlfuse -o nonempty drive

挂载之后(按刷新按钮),如下:

  • 结果的路径:‘/content/drive/…’
    利用谷歌colab薅羊毛过程的复制、解压等操作跳坑‘小‘全_第3张图片

  • 除去上方代码不看;默认的挂载操作如下:

  • 直接点击红框内即可

  • 结果:路径为“content/My Drive”(不过,现如今好像可以直接点击,不再是My Drive直接是dirve)
    利用谷歌colab薅羊毛过程的复制、解压等操作跳坑‘小‘全_第4张图片

3、切换目录(核心)

  • colab中没有cd + path
  •   (描述有失偏颇,有cd切换,形式:%cd xxx/path,也能切到所path目录,但之前觉得不太灵,没有提)
    
  • 有的是(我常用这个):
import os
os.chdir('你的项目路径(建议全路径)')

# 返回上一路径
os.chdir('../')

*简而言之:利用import os (换行) os.chdir(“path”)
切换路径
!ls
显示一下

4、下载链接数据集(大数据)

  • 建议:先下载到本地;太慢了。
  • 直接:下载到到永久的云盘(容量15G)
ESRGAN_path="/content/drive/"

#切换cd 的意思,到项目文件夹
import os
os.chdir(ESRGAN_path)

%mkdir luowei  #创建一个文件夹
os.chdir("/content/drive/luowei")   #切入其中

#下载 数据集
!wget https:...(即数据集的链接)
!gdowm https:...(即数据集的链接)

#具体的 ,我的是
!wget http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_HR.zip
!wget http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_valid_HR.zip
  • 结果:
    利用谷歌colab薅羊毛过程的复制、解压等操作跳坑‘小‘全_第5张图片
  • 3.3G数据,5分钟多一点
  • 若是本地上传(半天,还不稳定)
    *如果真的是自己的文件夹(数据集,建议还是先弄到云盘或者别的网盘,直接上传,过于缓慢,极力不推荐

5、解压文件夹

#!温馨提示:

虽然4中下载的数据集在(15G的云盘中,但是解压的时候,别在15G中解压),而是到挂载的(60-70G),即‘/content/’中解压,速度快很多

  • !!!极力建议:直接立刻如下操作:
import  os  
os.chdir('(15G云盘)项目的路径')
  • 结果:速度很慢,
  • 解决方法:直接下载到云硬盘(就是前面挂载的这个,这是临时的,加载以后就没有了),所以再复制到15G云盘中,自己永久的项目

我的代码:

# ESRGAN_path="/content/drive/Experiment/ESRGAN"
'''
    指定定文件夹(因为这是一个shell执行一遍,
    有时候重新启动的时候,若存在与其他有关联,就容易出错)
'''

'''
或者,若直接解压到15G云盘的指定路径,发现解压速度很慢,
解决方法就是:
    先直接解压到(挂载的这个)'/content';
    再转移到指定的文件夹。(注释开头第一行),改为
'''
ESRGAN_path='/content/'   #挂载路径

import os
os.chdir(ESRGAN_path)  #!!!经常切换 
print('current_dir is_:',os.getcwd())

!unzip /content/drive/Experiment/ESRGAN/DIV2K_train_HR.zip

发现速度快很多,写博客之前,刚刚指定到15G云盘,很慢很慢。几乎不转。

现在的速度:就是4中的下载的3G 大小的zip数据集,解压时间100多秒。
利用谷歌colab薅羊毛过程的复制、解压等操作跳坑‘小‘全_第6张图片

6、复制文件夹

  • 5 解压好的文件夹,复制到深度学习的项目(15G永久云盘)中,别放在60-70G的云硬盘中。
import shutil
shutil.copytree("复制的文件夹","目标路径+目标路径下的文件夹")

#复制单个文件的命令
shutil.copy("","")同上

利用谷歌colab薅羊毛过程的复制、解压等操作跳坑‘小‘全_第7张图片

  • 我的代码

import shutil
copy = shutil.move('/content/DIV2K_train_HR1','/content/drive/Experiment/ESRGAN')

*正在移动(或者复制)
利用谷歌colab薅羊毛过程的复制、解压等操作跳坑‘小‘全_第8张图片

6、TensorFlow、torch版本切换、github 下载代码

  • 方法:
!pyhton -m pip install xxpag==版本
%cd 路径看看
!ls  #显示当前路径的文件、或者默认的指定路径之下文件(夹)
!ls "路径" #显示该路径下的文件或者文件夹
  • ! git clone (github代码路径,一般去github上复制代码路径)

7、运行python代码

  • 两种做法:

1)切换路径 !!!

path = 'xxxx./xxxx/xxx/'
import os
os.chdir('path')

再!!!run 文件夹下的py文件,就可以

! python xx.py文件

就可运行代码了

2)或者,直接!!

!python xxx路径/xx.py文件

注: 第一次记录这般多,只因其中的坑甚多,如有错误,请留言评论指正!!!

你可能感兴趣的:(解决问题,学习,深度学习,tensorflow,pytorch)