Я пытаюсь загрузить и извлечь набор данных речевых команд Google с помощью записной книжки Google Colab. Архив Tar довольно большой, но из набора данных ML он довольно маленький. После выполнения фрагмента кода, прикрепленного ниже, я вижу, что архив был извлечен правильно, и я могу видеть все файлы на диске виртуальной машины (само собой разумеется, есть 100K + файлов, как и ожидалось).
IСледует понимать, что для синхронизации памяти виртуальной машины Colab с Google Drive требуется некоторое время. Но даже после долгого ожидания (почти дня) Google Диск не обновляется должным образом. Выполнение нескольких строк кода показывает, что только 10-12 каталогов были обновлены правильно (из 36), а остальные пусты. Это какая-то ошибка в процессе синхронизации Google Диска, которая вызывает это? Или я что-то делаю неправильно? Любая помощь или совет будут оценены. Заранее спасибо!
Я использую этот довольно простой кусок кода.
import os
import tarfile
import requests
from tqdm import tqdm
from google.colab import drive
drive.mount('/gdrive', force_remount = True)
# url = "http://download.tensorflow.org/data/speech_commands_v0.01.tar.gz"
url = "http://download.tensorflow.org/data/speech_commands_v0.02.tar.gz"
file_name = "speech.tar.gz"
dir_path = "/gdrive/My Drive/Temp/ML/Final/dataset/"
download_path = dir_path + file_name
r = requests.get(url, stream = True)
with open(download_path, 'wb') as file:
for block in r.iter_content(chunk_size = 4096):
if(block):
file.write(block)
print("[INFO] Download completed.")
def extract_tar(path, dest_dir):
os.chdir(dest_dir)
with tarfile.open(name = path) as tar:
for member in tqdm(iterable = tar.getmembers(), total = len(tar.getmembers())):
tar.extract(member = member)
extract_tar(download_path, dir_path)
print("[INFO] Extraction completed.")
!rm /gdrive/My\ Drive/Temp/ML/Final/dataset/speech.tar.gz
print("[CAUTION] File deleted!")