第一次使用 google colab,参考了下面博客,本文记录一些常用代码,以方便之后再次访问。
参考链接:Goolge Colab使用教程_google colab使用教程_小刺猬69的博客-CSDN博客
1.设置免费GPU
查看自己是否在GPU环境下
import tensorflow as tf
tf.test.gpu_device_name()
2.连接谷歌云盘
其实就是让这个notebook可以访问到你的谷歌云盘,运行以下代码,会出现一个授权链接。
from google.colab import drive
import os
drive.mount("/content/drive", force_remount=True)
将当前目录切换到谷歌云盘,然后查看你云盘里的文件;
import os
os.chdir('/content/drive/MyDrive')
!ls
也可以直接点击这个图标进行连接。
连接到谷歌云盘后,刷新一下文件夹,我们可以看到左侧文件窗口中就多了个drive文件夹,就说明我们连接成功了,打开drive可以看到里面包括我们之前上传到谷歌云盘中的东西。
之后每次重新登录都要重复上面两个步骤.接下来就可以像使用linux系统一样去使用了。
3.解压文件操作
解压文件,进入对应的目录下进行解压即可
os.chdir('/content/drive/MyDrive/openmmlab')
!unzip mmdetection3d.zip
4.数据集上传
建议是直接压缩包形式上传到谷歌云盘。
一些需要的数据集,预训练模型之类的建议直接上传到云盘里面,方便操作。
5.深度学习网络下载
本文以pointpillars为例
(1)从链接下载并打开文件夹,完成后可以看到在左边主目录下出现second.pytorch文件夹
!git clone https://github.com/traveller59/second.pytorch.git
%cd second.pytorch/second
(2) 将模型下载到本地然后上传到谷歌云盘
注意:
oldpath是我们需要复制的源文件夹路径
newpath是我们需要复制的目的地文件夹
/content是我们的文件夹根目录,相当于本地目录,复制前根目录下不能存在相同名字的文件夹
import shutil
oldpath = '/content/drive/MyDrive/(fire)'
newpath = '/content/(fire)'
shutil.copytree(oldpath,newpath)
6.数据集
对于数据集,我们可以有两种方式,一种是文件夹,一种是压缩包。两种操作方式都类似,都需要通过指令复制到google colab下,压缩包多一个解压的操作。
压缩包(未试过)
第一行代码先进行数据集压缩包文件的复制,当复制文件时可以使用该指令,中间一段是源文件地址, 最后面的./是需要复制到的位置, 然后进行解压。
!cp /content/drive/MyDrive/(fire) ./
!unzip ./(fire) -d ./
文件夹
跟上面深度学习网络的操作类似
import shutil
oldpath = '/content/drive/MyDrive/second.pytorch-master'
newpath = '/content/second.pytorch'
shutil.copytree(oldpath,newpath)
7.保存路径
本文提供的代码默认的保存路径为logs文件夹,但Colab存在不稳定的问题,运行一段时间后会发生断线。
如果将权值保存在原始根目录下的logs文件夹,发生断线网络就白训练了,浪费大量的时间。
可以将google云盘软连接到根目录下,那么即使断线,权值也保留在云盘中。
由于之前已经在云盘中创建了logs文件夹。先将当前文件夹下的logs文件夹删除,再将谷歌云盘中的logs文件夹链接过来。执行完该代码后,当前文件夹下的logs就等同于谷歌云盘中的logs文件夹
!rm -rf logs
!ln -s /content/drive/MyDrive/ColabNotebooks/logs logs
8 安装包/库
!pip install 包名
其他操作指令
查看GPU信息
!nvidia-smi
删除google colab下的文件夹,将位置换成主目录下,然后对对应的文件进行删除
import os
os.chdir('/content')
!ls
!rm -rf (fire)