Причина этого - накладные расходы на пути и чтение с диска.
Я нашел лучший способ сделать это быстрее, это иметь файлы, которые я читаю, в самом хранилище CoLab.
Это можно сделать двумя способами: один - скопировать файлы с помощью команд Linux в среде CoLab с диска в основной каталог хранилища. Что-то вроде !cp <source directory> <destination directory>
Например, в нашем случае: !cp "gdrive/My Drive/datasets/imdb_crop" "imdb_crop"
.
В противном случае, если ваши данные сжаты, чтобы сэкономить время распаковки, распакуйте их прямо в CoLab storage.
При использовании tar-файла:
from google.colab import drive
import tarfile
drive.mount('/content/gdrive')
fname = 'gdrive/My Drive/IMDB_Dataset.tar'
tar = tarfile.open(fname, "r:")
tar.extractall()
tar.close()
При использовании zip-файла:
from google.colab import drive
drive.mount('/content/gdrive')
import zipfile
filename = "drive/My Drive/IMDB_Dataset.zip"
with zipfile.ZipFile(filename, 'r') as zipp:
zipp.extractall()
zipp.close()
Чтобы убедиться, что это работает, вы найдете в файлах окружение CoLab - которое вы можете видеть на боковой вкладке - что есть папка imdb_crop (например) в основном каталоге, за пределами gdrive.
Когда я читаю файлы непосредственно из папки imdb_crop, он был намного быстрее.