2017-09-19 2 views
2

Je rencontre des problèmes lors de la lecture des données d'un compartiment hébergé par Google. J'ai un seau contenant ~ 1000 fichiers dont j'ai besoin d'accéder, tenue à (par exemple) gs: // mon-seau/donnéesLire les données d'un compartiment dans Google ml-engine (tensorflow)

Utilisation gsutil de la ligne de commande ou l'autre des clients de l'API Python de Google Je peux accéder à les données dans le compartiment, cependant l'importation de ces API n'est pas supportée par défaut sur google-cloud-ml-engine.

J'ai besoin d'un moyen d'accéder à la fois aux données et aux noms des fichiers, soit avec une bibliothèque python par défaut (c'est-à-dire os), soit en utilisant tensorflow. Je sais que tensorflow cette fonctionnalité est intégrée dans quelque part, il a été difficile pour moi de trouver

Idéalement, je suis à la recherche pour le remplacement d'une commande comme os.listdir() et un autre pour ouvrir()

train_data = [read_training_data(filename) for filename in os.listdir('gs://my-bucket/data/')] 

Où read_training_data utilise un objet lecteur tensorflow

Merci pour toute aide! (Aussi p.s. mes données sont binaires)

Répondre

2

Si vous voulez juste lire les données en mémoire, puis this answer a les détails dont vous avez besoin, à savoir, pour utiliser le module file_io. Cela dit, vous pourriez envisager d'utiliser des mécanismes de lecture intégrés pour TensorFlow, car ils peuvent être plus performants.

Les informations sur la lecture peuvent être trouvées here. Le dernier et le plus grand (mais pas encore partie du "core" officiel TensorFlow) est l'API Dataset (plus d'infos here).

Certaines choses à garder à l'esprit:

  • Utilisez-vous un tensorflow de format peut lire? Peut-il être converti dans ce format?
  • Le surdébit de "alimentation" est-il suffisamment élevé pour affecter les performances d'entraînement?
  • Le jeu d'entraînement est-il trop grand pour tenir dans la mémoire?

Si la réponse est oui à une ou plusieurs des questions, en particulier les deux dernières, envisager d'utiliser des lecteurs.

+0

Voici un exemple concret comment écrire un fichier (il est facile de le modifier pour la lecture mais notez que le paramètre 'model' est obligatoire): https://stackoverflow.com/a/43242029/288875 –