Tensorflow: à partir du descripteur d'importation google.protobuf en tant que _descriptor ImportError : aucun module nommé google.protobuf

Créé le 28 juin 2016  ·  3Commentaires  ·  Source: tensorflow/tensorflow

Salut les gars, je travaille sur un projet utilisant tensorflow sur la plate-forme de microservices Amazon Web Services et j'ai rencontré quelques problèmes. J'ai installé tensorflow en utilisant pip dans un virtualenv. Ensuite, j'ai pris le contenu de /env/lib/python2.7/site-packages/ et l'ai compressé avec mon code source dans un package de développement pour AWS Lambda (env est le nom de mon virtualenv). C'est le processus d'utilisation des bibliothèques python pour un processus AWS Lambda et je n'ai rencontré aucun problème avec d'autres bibliothèques. Je l'ai fait pour numpy, scipy, Pillow et un tas d'autres bibliothèques beaucoup moins prises en charge et elles ont toutes bien fonctionné avec Lambda.

Cependant, lorsque j'essaie d'utiliser tensorflow, cela renvoie ceci:

Impossible d'importer le module 'classifier' : Traceback (dernier appel le plus récent) : Fichier "/var/task/tensorflow/python/__init__.py", ligne 52, dansfrom tensorflow.core.framework.graph_pb2 import * Fichier "/var/task/tensorflow/core/framework/graph_pb2.py", ligne 6, dansà partir du descripteur d'importation google.protobuf en tant que _descriptor ImportError : Aucun module nommé google.protobuf Erreur lors de l'importation de tensorflow. À moins que vous n'utilisiez bazel, vous ne devriez pas essayer d'importer tensorflow à partir de son répertoire source ; veuillez quitter l'arborescence source de tensorflow et relancer votre interpréteur python à partir de là.

classify est le script source qu'AWS Lambda appelle lorsqu'il est invoqué et a été compressé avec le contenu de /env/lib/python2.7/site-packages/ comme je l'ai décrit.

Ces erreurs ont été corrigées à quelques autres endroits, mais aucune des solutions que j'ai trouvées sur ces pages n'a fonctionné pour moi, probablement parce qu'aucune d'entre elles n'utilisait lambda. Est-il possible que tensorflow ne fonctionne tout simplement pas avec lambda à cause de la façon dont lambda importe les bibliothèques ? Si tel est le cas, importez-vous de toute façon le package tensorflow à partir d'un dossier source que je télécharge sous forme de zip?

Étapes spécifiques à reproduire :

Il m'est venu à l'esprit que ce n'est probablement pas quelque chose que tensorflow prend probablement en charge étant donné que la plupart des gens n'utilisent pas tensorflow dans les conteneurs AWS, mais j'espère que quelqu'un pourra aider ou au moins faire de son mieux même s'il n'a pas spécifiquement d'expérience avec AWS.

Merci!!

Commentaire le plus utile

D'accord, je n'ai aucune idée de ce que cela fait, mais cela a résolu tout ce problème ::

cd dans les packages de site
touch google/__init__.py
faites-le avant de compresser les packages de site
^bash

Tous les 3 commentaires

D'accord, je n'ai aucune idée de ce que cela fait, mais cela a résolu tout ce problème ::

cd dans les packages de site
touch google/__init__.py
faites-le avant de compresser les packages de site
^bash

C'est fascinant. Je n'ai aucune idée du problème, mais il peut être endémique à AWS lambda. Je vais fermer ce sujet.

Je suis tombé dessus lors de mes voyages. Ce n'est pas Lambda, c'est le module protobuf : https://github.com/google/protobuf/issues/1296

Cette page vous a été utile?
0 / 5 - 0 notes