Colab解压压缩包&&删除非空文件夹的方式

Colaboratory 简称“Colab”,Google Research 团队开发,任何人都可以通过浏览器编写和执行任意 Python 代码,尤其适合机器学习、数据分析、教育目的。Colab 是一种托管式 Jupyter 笔记本服务,用户无需设置,就可直接使用,还能免费使用 GPU/TPU计算资源。从“文件”菜单中选择“上传笔记本”即可将现有的 Jupyter/IPython 笔记本导入,Colab 笔记本存储在 Google 云端硬盘上,也可从 GitHub 加载,更多详情请看文档:colaboratory

问题一:Colab解压CIFAR-10数据集

在使用Colab中的GPU进行深度学习训练时,如果用CIFAR-10官方提供的数据集进行训练很轻松只有几个文件,如果没有解压工具也可以轻松跑起来。如果是有60000张图片大小为55M的数据集,那么解压缩可能需要花费一天时间(亲测使用下图方式,解压8小时左右才解压了3w张图片)。
在这里插入图片描述

问题二:Colab不支持删除非空文件夹

刚才解压缩的数据集如果想要删除掉怎么搞?一个图片一个图片删除?那么坐你就慢了。

通用解决方案:Python脚本

归根到底Colab可以为我们提供Python环境,我们便可以执行Python脚本,而使用Python脚本往往可以实现我们想要的功能,除了上面两个问题可以从这个角度出发考虑,其余的问题也可以。

先进行谷歌硬盘装载,不会的自行百度吧。
在这里插入图片描述

问题一解决方案:解压缩命令

!unzip "/content/drive/MyDrive/Colab Notebooks/ResNet18/data.zip" -d "/content/drive/MyDrive/Colab Notebooks/ResNet18/"

目录替换为自己的目录(执行命令前一定要好好检查路径)
在这里插入图片描述
这种方式快到起飞,短短几分钟就把6w张图片解压完毕!
在这里插入图片描述

问题二解决方案:递归删除非空文件夹

直接上代码好了,大家搞深度学习应该懂这些基本的知识!

import os
# os.listdir('/content/drive/MyDrive/Colab Notebooks/ResNet18/data')
# os.remove(f'/content/drive/MyDrive/Colab Notebooks/ResNet18/data/')

def rmdir(dir):
    #判断是否是文件夹,如果是,递归调用rmdir()函数
    if(os.path.isdir(dir)):
        #遍历地址下的所有文件及文件夹
        for file in os.listdir(dir):
            #进入下一个文件夹中进行删除
            rmdir(os.path.join(dir,file))
        #如果是空文件夹,直接删除
        if (os.path.exists(dir)):
            os.rmdir(dir)
            print(dir,"文件夹删除成功!")
    #如果是文件,直接删除
    else:
        if(os.path.exists(dir)):
            os.remove(dir)
            print(dir,"文件删除成功!")
#调用定义函数(路径换成自己的,最好自己先找个废目录测试一下!)
rmdir("/content/drive/MyDrive/Colab Notebooks/ResNet18/data")

秒级别删除非空目录!
在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/apple_51931783/article/details/130819873