web-dev-qa-db-fra.com

Impossible d'installer Tensorflow Mac

J'ai vérifié ma version pip3 et python3:

  (tensorflow) MacBook-Pro-de-Hector-2:tensorflow hectoresteban$ pip3 -V
    pip 10.0.1 from /Users/hectoresteban/.virtualenvs/tensorflow/lib/python3.7/site-packages/pip-10.0.1-py3.7.Egg/pip (python 3.7)

(tensorflow) MacBook-Pro-de-Hector-2:tensorflow hectoresteban$ python3 -V
Python 3.7.0

Dans l'environnement virtuel que j'utilise actuellement, j'ai fait:

pip3 install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.9.0-py3-none-any.whl

Comme moyen standard pip3 install tensorflow affiche le message suivant:

could not find a version that satisfies the requirement tensorflow (from versions: )

Après l'installation en utilisant la première méthode expliquée:

(tensorflow) MacBook-Pro-de-Hector-2:tensorflow hectoresteban$ python3
>>> import tensorflow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/hectoresteban/.virtualenvs/tensorflow/lib/python3.7/site-packages/tensorflow/__init__.py", line 22, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "/Users/hectoresteban/.virtualenvs/tensorflow/lib/python3.7/site-packages/tensorflow/python/__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/Users/hectoresteban/.virtualenvs/tensorflow/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/Users/hectoresteban/.virtualenvs/tensorflow/lib/python3.7/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 114
    def TFE_ContextOptionsSetAsync(arg1, async):
                                             ^
SyntaxError: invalid syntax

Quelle est la solution? Je peux télécharger d'autres packages tels que numpy mais pas Tensorflow. (MacOS 10.13.4)

9

Mise à jour: la version 1.13 introduit Python 3.7 support

La récente version candidate pour la version 1.13 apporte Python 3.7, en particulier les roues de CPU précompilées sont également disponibles pour MacOS 10.11 et plus récent ( lien vers 1.13.1 ). Installez comme d'habitude:

$ pip install tensorflow>=1.13

Réponse originale (obsolète)

tensorflow ne prend pas en charge Python 3.7 pour le moment. La raison en est que:

  • tensorflow utilise async comme nom de paramètre de fonction, et async et await sont devenus des mots clés réservés dans Python 3.7 (comme indiqué par @phd dans ce commentaire ) - c'est pourquoi vous obtenez l'erreur d'importation;

  • Python 3.7 a changé le type de retour de PyUnicode_AsUTF8AndSize fonction dans l'API C utilisée par tensorflow:

    Modifié dans la version 3.7: le type de retour est maintenant const char * plutôt de char *.

Cela signifie que les deux problèmes doivent être résolus avant que tensorflow puisse être construit et publié pour Python 3.7 et Linux/MacOS. Vous pouvez suivre l'état actuel ici: problème # 20517 .

La solution serait donc d'éviter Python 3.7 si vous devez continuer à travailler avec tensorflow. Restez avec Python 3.6 pour le moment).

Si vous êtes prêt à construire tensorflow à partir de la source: n correctif est proposé pour résoudre les deux problèmes . Si vous voulez l'essayer, suivez le tutoriel Install TensorFlow from Sources des documents officiels, la seule différence étant au début:

  1. Clonez le référentiel

    $ git clone https://github.com/tensorflow/tensorflow
    
  2. Copiez le contenu du patch dans un fichier, par ex. tf.patch

  3. Appliquez le patch:

    $ git apply tf.patch
    
  4. Continuez avec le reste du didacticiel.

Notez également que vous devrez construire la dernière protobuf, car la prise en charge de Python 3.7 a été ajoutée récemment, mais n'est contenue dans aucune version publiée. Edit tensorflow/contrib/cmake/external/protobuf.cmake pour pointer vers le HEAD actuel du référentiel protobuf.

13
hoefling

J'ai essayé cette commande sur macOS Catalina (Python 3.6) et elle a fonctionné correctement:

$ python3 -m pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.12.0-py3-none-any.whl

0
George Dimitriou