Charger fichiers depuis un drive public sur Google Colab

Dans cet astuce nous allons voir comment charger des fichiers d’un drive public sur Google Colab, sans clé d’accès et sans se connecter à son drive.

Lorsqu’on fait du Machine Learning sur Jupyter Notebook et Google Colab on est amener à charger des fichiers sur notre session. On peut les importer en local lorsqu’on travaille seul mais dès qu’on travaille à plusieurs se pose la question du chargement des données.

Ces données peuvent être très volumineuses surtout quand il s’agit de modèles pré-entraînés ou de checkpoints.

Nombreux sont ceux qui stock ces fichiers sur Google Drive ou d’autres plateforme de stockage. Cela permet de gagner du temps et de l’espace sur son disque local.

Python nous donne la possibilité de charger ce type de fichiers stocker sur le cloud directement sur notre session que ces fichiers soit en privée, au sein d’une équipe, ou en public, accessible à tous.

Plus besoin de télécharger soi-même des modèles, Python le fait pour nous !

Nous allons voir dans cet article comment faire !

Photo by Michael Niessl on Unsplash

Charger les fichiers de son répertoire Google Drive

Google Colab possède une librairie permettant d’importer son propre Drive:

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

Après avoir exécuter le code, Python nous donne un lien sur lequel trouver notre clé d’accès.

Il suffit d’entrer la clé dans le champs correspondant pour avoir accès a l’ensemble des fichiers de notre Drive sur notre session. Ce champs devrait être comme cela:

C’est une solution facile si l’on veut accéder aux fichiers de son drive mais qu’en est-il des fichiers d’un répertoire public auquel on voudrait accéder sans avoir la clé d’accès ?

Le problème peut se poser, surtout s’il l’on travail en collaboration avec d’autre qui n’ont pas accès au mot de passe de notre drive ou si l’on veut rendre public notre algorithme de Machine Learning tout frais sorti du four !

Ne vous inquiétez pas, il y a une solution pour charger des fichiers drive public ! Et ça marche même pour les gros fichiers !


CRÉER TON APPLICATION IA !

Reçois tes 5 JOURS De Formation GRATUITE Pour Apprendre À Créer Ton APPLICATION d’INTELLIGENCE ARTIFICIELLE !

Tous les fondamentaux de la création d’Application IA : les approches, les outils et techniques, les librairies et framework, et bien d'autres ! Découvres étape par étape la création d’application de Deep Learning (tu apprendras même à trouver des idées d’appli !). En bonus, tu recevras notre Guide Ultime du Deep Learning !


Photo by James Jadotte on Unsplash

Charger les fichiers d’un répertoire public Google Drive

Google Colab permet d’utiliser des commandes Shell comme pip, ls ou encore wget.. c’est ce dernier qui nous intéresse 😉

On va utiliser wget pour charger le fichier d’un répertoire public de Google Drive que l’on veut mais avant ça il faut qu’on récupère l’iD de ce fichier.

Pour ça, il faut aller sur le lien Drive où se trouve le fichier par exemple celui-ci.

Puis faire un clic droit sur le fichier qui nous intéresse et cliquer sur Obtenir le lien, ici:

Une fois fait vous devriez obtenir un lien comme celui-ci: ‘https://drive.google.com/file/d/1ML-Rpeaftox3z7b1GThUZtl1Ql_lGUrb/view?usp=sharing’

L’iD que vous devez récupérer ce situe entre ‘https://drive.google.com/file/d/’ et ‘/view?usp=sharing’.

Dans notre cas l’iD est: 1ML-Rpeaftox3z7b1GThUZtl1Ql_lGUrb

Ensuite, selon la taille du fichier, nous avons deux options :

Avec des fichiers peu volumineux

On utilise la commande:

!wget -q --show-progress --no-check-certificate 'https://docs.google.com/uc?export=download&id=iD' -O Nom_fichier_sortie

Avec:

  • iD: l’iD du fichier
  • Nom_fichier_sortie: le nom que l’on veut donner fichier que l’on aura téléchargé avec l’extension associée(ex: .txt, .png, .pdf, .zip, .tar, … )

Dans notre cas:

!wget q --show-progress --no-check-certificate 'https://docs.google.com/uc?export=download&id=1ML-Rpeaftox3z7b1GThUZtl1Ql_lGUrb' -O fichier.tar

Avec des fichiers volumineux

On utilise la commande:

!wget -q --show-progress --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=iD' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=iD" -O Nom_fichier_sortie && rm -rf /tmp/cookies.txt

Avec:

  • iD: l’iD du fichier
  • Nom_fichier_sortie: le nom que l’on veut donner fichier que l’on aura téléchargé avec l’extension associée(ex: .txt, .png, .pdf, .zip, .tar, … )

Dans notre cas:

!wget -q --show-progress --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1ML-Rpeaftox3z7b1GThUZtl1Ql_lGUrb' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1ML-Rpeaftox3z7b1GThUZtl1Ql_lGUrb" -O fichier.tar && rm -rf /tmp/cookies.txt

sources :


CRÉER TON APPLICATION IA !

Reçois tes 5 JOURS De Formation GRATUITE Pour Apprendre À Créer Ton APPLICATION d’INTELLIGENCE ARTIFICIELLE !

Tous les fondamentaux de la création d’Application IA : les approches, les outils et techniques, les librairies et framework, et bien d'autres ! Découvres étape par étape la création d’application de Deep Learning (tu apprendras même à trouver des idées d’appli !). En bonus, tu recevras notre Guide Ultime du Deep Learning !


Tom Keldenich
Tom Keldenich

Data Engineer & passionné d'Intelligence Artificielle !

Fondateur du site Inside Machine Learning

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.