web-dev-qa-db-fra.com

Données persistantes dans Google Colaboratory

Quelqu'un a-t-il trouvé un moyen de garder les fichiers persistants d'une session à l'autre dans Google Colaboratory nouvellement open source ?

À l'aide des exemples de carnets de notes, je réussis à authentifier et à transférer des fichiers csv à partir de mon instance de Google Drive et à les stocker dans/tmp, mon ~ et ~/datalab. Les pandas peuvent aussi très bien les lire sur disque. Mais une fois la session expirée, il semble que tout le système de fichiers soit effacé et qu'un nouveau VM soit créé, sans fichiers téléchargés.

Je suppose que cela n’est pas surprenant étant donné Google Colaboratory Faq :

Q: Où mon code est-il exécuté? Qu'advient-il de mon état d'exécution si je ferme la fenêtre du navigateur?

R: Le code est exécuté sur une machine virtuelle dédiée à votre compte. Les machines virtuelles sont recyclées lorsqu'elles sont inactives pendant un certain temps et ont une durée de vie maximale imposée par le système.

Cela étant dit, c’est peut-être une fonctionnalité (c’est-à-dire "utilisez Google Cloud Storage, qui fonctionne bien dans Colaboratory")? Lorsque j'ai utilisé l'outil pour la première fois, je était en espérant que tous les fichiers .csv qui se trouvaient dans le dossier My File/Colab Notebooks Google Drive seraient également chargés sur le VM exemple sur lequel le bloc-notes fonctionnait: /

8
user3424705

Votre interprétation est correcte. Les ordinateurs virtuels sont éphémères et recyclés après des périodes d'inactivité. Il n'y a pas de mécanisme pour les données persistantes sur la VM elle-même pour le moment. 

Pour que les données persistent, vous devez les stocker hors de la machine virtuelle, par exemple Drive, GCS ou tout autre fournisseur d'hébergement dans le cloud.

Certaines recettes de chargement et d’enregistrement de données provenant de sources externes sont disponibles dans Exemple d’exemple notebook .

5
Bob Smith

Vous ne savez pas si c'est la meilleure solution, mais vous pouvez synchroniser vos données entre Colab et Drive avec une authentification automatique, comme suit: https://Gist.github.com/rdinse/159f5d77f13d03e0183cb8f7154b170a

3
Robin Dinse

Clouderizer peut fournir une certaine persistance des données, au prix d’une longue installation (car vous utilisez Google Colab uniquement en tant qu’hôte) et peu d’espace sur lequel travailler. 

Mais, à mon avis, il vaut mieux que vos fichiers soient "recyclés" lorsque vous oubliez de sauvegarder vos progrès.

1
LeandroHumb

Comme vous l'avez souligné, le système de fichiers de Google Colaboratory est éphémère. Il existe des solutions de contournement, bien qu’il y ait une pénalité de latence réseau et une surcharge de code: par exemple. vous pouvez utiliser le code standard dans vos ordinateurs portables pour monter des systèmes de fichiers externes tels que GDrive (voir leur example notebook ). 

Sinon, bien que cela ne soit pas pris en charge par Colaboratory, d’autres services d’hébergement Jupyter - tels que Jupyo - fournissent des ordinateurs virtuels dédiés avec des systèmes de fichiers persistants, de sorte que les données et les blocs-notes persistent pendant les sessions.

1
artur