如何用 python 解压 gz 文件(三层嵌套文件夹)?

我有一个图片数据集,为了减少 io 在训练过程中的耗时,我把它压缩成了 gz 文件,然后上传到 kaggle 上训练,文件结构如下图所示:

如何用 python 解压 gz 文件(三层嵌套文件夹)?

我想的是在训练的时候解压出来放在内存中(数据集 300MB 左右,kaggle 提供的 P100 的内存约为 16GB)我搜了很久也没找到怎样如何实现,一部分是直接用 gzip.GzipFile(...) 处理,但是我需要对这里的图片进行一些传统图像预处理方式,然后才转换成 tensor 扔到网络里去训练。有人知道如何做吗?或者能提供一些帮助吗?

补充

  1. 如果 gz 文件的库支持不行的话,我也可以压缩成 zip 等格式重新上传。
  2. 我试了下 zip,可以简单实现嵌套的解压,但它给放到磁盘上了,没放到内存中。
import zipfile

def unzip(filename):

zfile = zipfile.ZipFile(filename)

# print(zfile.namelist())

images = zfile.extractall(path='data')

如何用 python 解压 gz 文件(三层嵌套文件夹)?

谢谢:)


回答:

也许可以换种思路, 保存到磁盘上, 自己读到内存. 或者解压到 /tmp 这个内存文件系统上.

纯粹的gz应该是压缩用的吧. 还应该有归档tar格式.

以上是 如何用 python 解压 gz 文件(三层嵌套文件夹)? 的全部内容, 来源链接: utcz.com/p/938338.html

回到顶部