0
votes

Moyen rapide de télécharger de nombreuses images (3000+) sur un serveur cloud Google

Je travaille sur la détection d'objets pour un projet scolaire. Pour entraîner mon modèle CNN, j'utilise un serveur cloud Google car je ne possède pas de GPU suffisamment puissant pour l'entraîner localement. Les données d'entraînement se composent d'images (fichiers .jpg) et d'annotations (fichiers .txt) et sont réparties sur environ 20 dossiers en raison du fait qu'elles proviennent de différentes sources et que je ne veux pas mélanger des images de différentes sources, je veux donc conservez cette structure de répertoires.

Mon problème actuel est que je n'ai pas trouvé de moyen rapide de les télécharger sur mon serveur cloud Google. Ma solution de contournement était de télécharger ces dossiers d'images sous forme de fichier .zip sur Google Drive, de les télécharger sur le cloud et de les décompresser. Ce processus prend beaucoup trop de temps car je dois télécharger de nombreux dossiers et Google Drive ne dispose pas d'une bonne API pour télécharger des dossiers sur Linux.

Sur mon ordinateur local, j'utilise Windows 10 et mon serveur cloud exécute Debian.

Par conséquent, je vous serais très reconnaissant si vous connaissez un moyen rapide et facile de télécharger mes images directement sur le serveur ou du moins de télécharger mes dossiers compressés.


2 commentaires

Quel est le système de fichiers sur la cible? Comment lisez-vous les fichiers? Importez-vous sur Google Cloud Storage, auquel cas gsutil est probablement ce que vous voulez ou utilisez-vous un moteur Compute Engine et ce que vous voulez, c'est de les importer dans des fichiers locaux sur un système de fichiers local.


Il existe différentes options pour transférer des fichiers vers votre instance et celles-ci sont décrites dans le document < / a>. vous pouvez examiner ces options spécialement via Cloud Storage , ligne de commande gcloud et WinSCP


3 Réponses :


0
votes

Ne pourriez-vous pas simplement créer une boucle infinie pour rechercher les fichiers jpg et scp / sftp le jpg directement sur votre serveur une fois que le fichier est là? Sur Windows, vous pouvez y parvenir en utilisant WSL.

(désolé, ce n'est peut-être pas votre réponse finale, mais je n'ai pas la réputation de vous poser cette question)


0 commentaires

0
votes

Je les importerais dans un bucket Google Cloud Storage à l'aide de gsutil avec multithreading . Cela signifie que plusieurs fichiers sont copiés à la fois, donc la seule limitation ici est votre vitesse Internet. Les programmes d'installation de Gsutil pour Windows et Linux se trouvent ici . Exemple de commande:

gsutil -m cp -r gs://my-bucket dir

Ensuite sur la VM vous faites exactement le contraire:

gsutil -m cp -r dir gs://my-bucket

C'est super rapide, et vous ne payez qu'un petit quantité pour le stockage, qui est très bon marché et / ou fait partie de l'offre gratuite de GCP.

Remarque: assurez-vous que vous disposez des autorisations d'écriture sur le bucket de stockage et le compte de service de calcul par défaut (c'est-à-dire le compte de service VM ) a des autorisations de lecture sur le bucket de stockage.


0 commentaires

0
votes

La meilleure pile pour le cas d'utilisation sera gsutil + storage bucket

Copiez les fichiers zip dans le compartiment de stockage cloud et placez un cron de synchronisation pour obtenir les fichiers sur la VM.

Utilisez gsutil https://cloud.google.com/storage/docs/gsutil


0 commentaires