为什么我的大文件在提取时在 google colab 上非常小?

Why is my large file when extracted is of very less size on google colab?

我正在使用来自 kaggle 的 'Dogs vs. Cats Redux: Kernels Edition' 数据集作为深度学习模型。

import os
from getpass import getpass
user = getpass('Kaggle Username: ')
key = getpass('Kaggle API key: ')

if '.kaggle' not in os.listdir('/root'):
    !mkdir ~/.kaggle
!touch /root/.kaggle/kaggle.json
!chmod 666 /root/.kaggle/kaggle.json
with open('/root/.kaggle/kaggle.json', 'w') as f:
    f.write('{"username":"%s","key":"%s"}' % (user, key))


!kaggle competitions download -c dogs-vs-cats-redux-kernels-edition

我已经在我的colab notebook环境中下载了它,总数据集大小(test+train)大约大于800mbs。

ls -sh
    112K sample_submission.csv  272M test.zip  544M train.zip

但是,当我提取 train 和 test zip 时,为什么提取文件的大小这么小?

unzip test.zip && unzip train.zip
ls -sh
    total 816M
    112K sample_submission.csv  272M test.zip  544M train.zip
    276K test           752K train

解压缩在没有安静模式的情况下发生,所以我可以看到文件正在一个一个地提取

我还可以看到 test 文件夹中的图像,这些图像可以通过侧目录完全访问

我认为这是 ls 命令的一些大小显示错误并且文件确实被提取,但是当 运行 训练代码时,它抛出与找不到图像相关的错误。

我通过在本地上传一个小数据集解压缩了一些文件,它们工作正常,所以 unzip 也工作正常,7z 和 python 解压缩也是如此。

任何解决问题的方法或替代解决方案都会有所帮助。

您正在查看目录的大小而不是其内容的大小。

请尝试使用 du 检查大小。