web-dev-qa-db-fra.com

Comment télécharger plusieurs fichiers sur Google Colab?

Je travaille sur un projet d’apprentissage automatique de la segmentation d’images et j’aimerais le tester sur Google Colab. 

Pour le jeu de données de formation, j'ai 700 images, principalement 256x256, que je dois télécharger dans un tableau python numpy pour mon projet. J'ai aussi des milliers de fichiers de masque correspondants à télécharger. Ils existent actuellement dans divers sous-dossiers sur Google Drive, mais n'ont pas pu être téléchargés sur Google Colab pour être utilisés dans mon projet. 

Jusqu'à présent, j'ai essayé d'utiliser Google Fuse, qui semble avoir une vitesse de téléchargement très lente, et PyDrive, qui m'a donné toute une gamme d'erreurs d'authentification. J'utilise principalement le code d'exemple de Google Colab I/O. 

Comment dois-je m'y prendre? PyDrive serait-il la solution? Existe-t-il un code permettant de télécharger une structure de dossiers ou plusieurs fichiers à la fois? 

5
cambonator

Vous pouvez mettre toutes vos données dans votre lecteur Google, puis monter le lecteur. C'est comme ça que je l'ai fait. Laissez-moi vous expliquer par étapes.

Étape 1: Transférez vos données sur votre lecteur Google.

Étape 2: Exécutez le code suivant pour vous monter sur Google Drive.

# Install a Drive Fuse wrapper.
# https://github.com/astrada/google-drive-ocamlfuse
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse Fuse



# Generate auth tokens for Colab
from google.colab import auth
auth.authenticate_user()


# Generate creds for the Drive Fuse library.
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}


# Create a directory and mount Google Drive using that directory.
!mkdir -p My Drive
!google-drive-ocamlfuse My Drive


!ls My Drive/

# Create a file in Drive.
!echo "This newly created file will appear in your Drive file list." > My Drive/created.txt

Étape 3: Exécutez la ligne suivante pour vérifier si vous pouvez voir les données souhaitées dans le lecteur monté.

!ls Drive

Étape 4:

Maintenant, chargez vos données dans numpy array comme suit. J'ai eu mes fichiers exel ayant mon train et cv et données de test.

train_data = pd.read_Excel(r'Drive/train.xlsx')
test = pd.read_Excel(r'Drive/test.xlsx')
cv= pd.read_Excel(r'Drive/cv.xlsx')

J'espère que ça peut aider.

Modifier

Pour télécharger les données sur votre lecteur à partir de l’environnement colab, vous pouvez exécuter le code suivant.

# Install the PyDrive wrapper & import libraries.
# This only needs to be done once in a notebook.
!pip install -U -q PyDrive
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials



# Authenticate and create the PyDrive client.
# This only needs to be done once in a notebook.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)



# Create & upload a file.
uploaded = drive.CreateFile({'data.xlsx': 'data.xlsx'})
uploaded.SetContentFile('data.xlsx')
uploaded.Upload()
print('Uploaded file with ID {}'.format(uploaded.get('id')))
6
Abdul Karim Khan

Voici quelques étapes pour télécharger un jeu de données volumineux sur Google Colab

1. Téléchargez votre jeu de données pour libérer du stockage sur le cloud tel que Dropbox, Openload, etc. (J'ai utilisé Dropbox)
2.Créez un lien pouvant être partagé avec votre fichier téléchargé et copiez-le .
3.Ouvrez votre carnet dans Google Colab et exécutez cette commande dans l'une des cellules suivantes:

    !wget your_shareable_file_link

C'est tout!
Vous pouvez compresser votre jeu de données dans un fichier Zip ou rar, puis le réactiver après l'avoir téléchargé dans Google Colab à l'aide de la commande suivante:

    !unzip downloaded_filename -d destination_folder
2
Demon96

Vous voudrez peut-être essayer le module kaggle-cli, comme discuté ici

0
Korakot Chaovavanich

Commencez par compresser votre fichier, puis transférez-le sur Google Drive.

Voir cette commande simple pour décompresser:

!unzip {file_location}

Exemple:

!unzip drive/models.rar
0
Deepak Ravi