web-dev-qa-db-fra.com

importer un fichier local dans google colab

Je ne comprends pas comment colab fonctionne avec les répertoires. J'ai créé un bloc-notes et colab l'a mis dans/Google Drive/Colab Notebooks.

Maintenant, j'ai besoin d'importer un fichier (data.py) où j'ai un tas de fonctions dont j'ai besoin. Intuition me dit de mettre le fichier dans ce même répertoire et de l'importer avec:

importer des données

mais apparemment ce n'est pas le chemin ...

J'ai aussi essayé d'ajouter le répertoire à l'ensemble des chemins, mais je ne le spécifie pas correctement.

Quelqu'un peut-il aider avec cela?

Merci d'avance!

7
Danf

Maintenant, Google fournit officiellement une assistance pour accéder à Gdrive et travailler avec elle à l'aise.

Vous pouvez utiliser le code ci-dessous pour monter votre lecteur sur Colab:

from google.colab import drive
drive.mount('/gdrive')
%cd /gdrive/My\ Drive/{location you want to move}
1
Suraj Donthi

Les cahiers Colab sont stockés sur Google Drive. Mais il est exécuté sur une autre machine virtuelle. Donc, vous devez également copier votre data.py. Faites ceci pour télécharger data.py via Colab.

from google.colab import files
files.upload()
# choose the file on your computer to upload it then
import data
9

Pour télécharger facilement un fichier local, vous pouvez utiliser la nouvelle fonctionnalité de Google Colab:

  • cliquez sur la flèche droite à gauche de votre écran (sous le logo Google Colab)  enter image description here
  • sélectionnez l'onglet Fichiers
  • cliquez sur le bouton Upload

Une fenêtre contextuelle s'ouvrira pour choisir le fichier à télécharger à partir de votre système de fichiers local.

4
RomRoc

Pour charger les fichiers locaux du système dans le répertoire/stockage collab.

from google.colab import files
def getLocalFiles():
    _files = files.upload()
    if len(_files) >0:
       for k,v in _files.items():
         open(k,'wb').write(v)
getLocalFiles()

 enter image description here

3
shaurya uppal

Alors, voici comment j'ai finalement résolu ce problème. Je dois toutefois souligner que, dans mon cas, je devais travailler avec plusieurs fichiers et modules propriétaires qui changeaient constamment.

Pour ce faire, la meilleure solution consistait à utiliser un wrapper Fuse pour "relier" colab à mon compte Google. J'ai utilisé cet outil particulier:

https://github.com/astrada/google-drive-ocamlfuse

Voici un exemple de configuration de votre environnement, mais voici comment je l’ai fait:

# Install a Drive Fuse wrapper.
!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}

À ce stade, vous avez installé le wrapper et le code ci-dessus générera quelques liens vous permettant d’autoriser l’accès à votre compte Google Drive.

Vous devez créer un dossier dans le système de fichiers colab (rappelez-vous que ce n'est pas persistant, pour autant que je sache ...) et montez votre disque là-bas:

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

print ('Files in Drive:')
!ls drive/

la commande ! ls imprimera le contenu du répertoire afin que vous puissiez vérifier que tout fonctionne, et c'est tout. Vous avez maintenant tous les fichiers dont vous avez besoin et vous pouvez les modifier sans complication supplémentaire. N'oubliez pas que vous devrez peut-être configurer le noyau pour mettre à jour les importations et les variables.

J'espère que cela fonctionne pour quelqu'un!

1
Danf