web-dev-qa-db-fra.com

Comment télécharger et sauvegarder des données volumineuses sur Google Colaboratory à partir d'un lecteur local?

J'ai téléchargé des données d'entraînement d'images volumineuses au format Zip à partir de ce lien Kaggle 

https://www.kaggle.com/c/Yelp-restaurant-photo-classification/data

Comment puis-je atteindre efficacement les objectifs suivants?

  1. Créer un dossier de projet dans Google Colaboratory
  2. Télécharger le fichier Zip dans le dossier du projet
  3. décompressez les fichiers

Merci

EDIT: J'ai essayé le code ci-dessous, mais il s'est écrasé pour mon gros fichier Zip. Y at-il un moyen meilleur/efficace de faire cela où je peux simplement spécifier l'emplacement du fichier dans le lecteur local?

from google.colab import files
uploaded = files.upload()

for fn in uploaded.keys():
  print('User uploaded file "{name}" with length {length} bytes'.format(
      name=fn, length=len(uploaded[fn])))
5
GeorgeOfTheRF
!pip install kaggle
api_token = {"username":"USERNAME","key":"API_KEY"}
import json
import zipfile
import os
with open('/content/.kaggle/kaggle.json', 'w') as file:
    json.dump(api_token, file)
!chmod 600 /content/.kaggle/kaggle.json
!kaggle config set -n path -v /content
!kaggle competitions download -c jigsaw-toxic-comment-classification-challenge
os.chdir('/content/competitions/jigsaw-toxic-comment-classification-challenge')
for file in os.listdir():
    Zip_ref = zipfile.ZipFile(file, 'r')
    Zip_ref.extractall()
    Zip_ref.close()

Il y a un changement mineur sur line 9, sans laquelle l'erreur . Source: https://Gist.github.com/jayspeidell/d10b84b8d3da52df723beacc5b15cb27 .__ n'a pas pu être ajoutée comme cause de commentaire représentant.

3
Vikas

Vous pouvez vous référer avec ces discussions: 

Consultez également le exemple de bloc-notes I/O . Par exemple, pour accéder aux fichiers xls, vous souhaitez télécharger le fichier sur Google Sheets. Ensuite, vous pouvez utiliser les recettes gspread dans le même exemple de bloc-notes d'E/S.

2
abielita

Vous devrez peut-être utiliser le module kaggle-cli pour faciliter le téléchargement.

C’est discuté dans ce fil fast.ai .

1
Korakot Chaovavanich

Je viens d'écrire ce script qui télécharge et extrait des données de l'API Kaggle vers un carnet Colab. Il vous suffit de coller votre nom d'utilisateur, votre clé API et votre nom de compétition. 

https://Gist.github.com/jayspeidell/d10b84b8d3da52df723beacc5b15cb27

La fonction de téléchargement manuel dans Colab est un peu buggée maintenant, et il est préférable de télécharger des fichiers via wget ou un service API, car vous démarrez avec un nouveau VM chaque fois que vous ouvrez le bloc-notes. De cette façon, les données seront téléchargées automatiquement. 

0
Jay Speidell

Une autre option consiste à télécharger les données dans la boîte de dépôt (si elles peuvent s’intégrer), à obtenir un lien de téléchargement. Puis dans le cahier faire

!wget link -0 new-name && ls
0
orsonady