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

时间:2019-01-27 11:03:34

标签: python bash google-colaboratory kaggle

我正在使用kaggle的“狗对猫Redux:内核版本”数据集进行深度学习。

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笔记本环境中下载了它,数据集的总大小(test + train)大约大于800mbs。

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

但是,当我提取火车并测试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解压缩相同。

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

1 个答案:

答案 0 :(得分:1)

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

尝试使用du检查大小。