В Google Colab возникли проблемы с папками на диске, содержащими много файлов - PullRequest
0 голосов
/ 13 февраля 2019

Я импортировал несколько папок с диска в Google Colab.Меньшие папки хорошо работают при перечислении каталогов, но когда я пытаюсь перечислить каталоги в больших папках, Colab выдает ошибку.

Я знаю, что существуют другие способы перечисления каталогов, но эта проблемавызывает проблемы в дальнейшем, когда я пытаюсь получить доступ к файлам для обучения.

Я использую это для импорта файлов:

from google.colab import drive
drive.mount('/content/drive')

И затем описываю папки следующим образом:

TRAIN = '../content/drive/My Drive/train/'
TEST = '../content/drive/My Drive/test/'

Когда я пытаюсь сделать следующее:

print(os.listdir(TEST))
print(os.listdir(TRAIN))

TEST печатает нормально.Он имеет около 8000 файлов (все изображения).

TRAIN печатает несколько раз, а другие - нет!Он имеет около 32 000 файлов (все изображения тоже).Он печатает это, когда я пытаюсь запустить его:

OSError: [Errno 5] Input/output error: '../content/drive/My Drive/train/'

Кто-нибудь знает, как это исправить в Google colab?

Я обнаружил, что если после импорта файлов я ждуВ то время как и затем запускаются распечатки, он запускается, предполагая, что Colab требуется некоторое время для обработки файлов с диска даже после того, как прекращается импорт ячеек.

Ответы [ 2 ]

0 голосов
/ 01 июня 2019
OSError: [Errno 5] Input/output error: '../content/drive/My Drive/train/'

причина в том, что Google Colab не может прочитать дерево файлов как '../content/drive/My Drive/train/', поэтому измените его на 'content/drive/My Drive/train/'. (Или укажите полный путь на основе вашего текущего рабочего каталога)

0 голосов
/ 13 февраля 2019

Операции Drive FUSE могут прерваться, когда число файлов в каталоге станет большим.

Операции ввода-вывода для каталогов накопителя пропорциональны количеству файлов в каталоге.Поскольку в клиенте FUSE установлен фиксированный тайм-аут, когда количество файлов становится достаточно большим, операции в каталоге завершаются сбоем.

Обходным способом является организация ваших файлов в подкаталоги так, чтобы количество файлов илипапки в одном каталоге не становятся такими большими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...