Почему мой большой файл при извлечении имеет меньший размер в Google Colab?

Я использую набор данных "Dogs vs. Cats Redux: Kernels Edition" из kaggle для модели глубокого обучения.

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) приблизительно превышает 800 МБ.

ls -sh
    112K sample_submission.csv  272M test.zip  544M train.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 ответ

Решение

Вы смотрите на размер каталога вместо размера его содержимого.

Попробуйте проверить размер с du вместо.

Другие вопросы по тегам