2017-06-08 1 views
1

Tentative d'utilisation des outils Apple coreML pour convertir un modèle simple à l'aide de Keras. J'utilise Python 2.7 l'exécution de cette ligne de code:Erreur lors de l'importation de coremltools - impossible d'importer le nom ParametricSoftPlus

import coremltools

l'erreur suivante:

de keras.layers.advanced_activations importer ParametricSoftPlus

ImportError: ne peut pas importer le nom ParametricSoftPlus

Note: je n'ai aucun problème à importer ParametricSoftPlus dans mon script:

from keras.layers.advanced_activations import ParametricSoftPlus

Note # 2: J'ai ouvert le fichier qui lance l'erreur et si j'utilise la même instruction ci-dessus, il échoue avec la même erreur.

Au début, je pensais que ce pourrait être un problème d'autorisation, mais si elle était alors aucun fichier de script serait en mesure d'accéder au ParametricSoftPlus

Note de keras # 3: Je peux contourner cette ligne de code dans le fichier source et alors ça me donne la même erreur pour SReLU.

Toute aide est grandement appréciée, merci d'avance.

+1

Quelle version de Keras utilisez-vous? Le coremltools nécessite actuellement Keras 1.2.2. Si vous avez une version différente (telle que 2.0), cela ne fonctionnera pas. –

+0

J'utilise Keras 1.2.2 – user1988824

Répondre

0

Il s'est avéré que j'ai désinstallé toutes mes bibliothèques Python et réinstallé le strict minimum (oui, Keras est v.1.2.2) et il n'a toujours pas fonctionné.

J'ai aussi réinstallée pip: pip install --upgrade --force-reinstall

Alors j'ai décidé d'aller et enlever Python de mon système et réinstallée. Cela a résolu mon problème. Maintenant ce n'est pas une solution, c'est juste un travail autour et un gros avertissement ... Vous devez réinstaller python juste après l'avoir enlevé sinon votre MAC OS ne fonctionnera pas, vous devrez réinstaller votre système d'exploitation.

étapes peuvent être trouvés dans de nombreux autres SO messages:

Retirez le cadre Python 2,7

sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7 

Supprimez le répertoire des applications Python 2.7

sudo rm -rf "/Applications/Python 2.7" 

Supprimez les liens symboliques/usr/local/bin qui pointe vers ce Python version see ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' puis exécutez le commande du fait de supprimer tous les liens:

cd /usr/local/bin/ 
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm 

Si nécessaire, modifiez votre fichier de profil de shell (s) pour supprimer l'ajout /Library/Frameworks/Python.framework/Versions/2.7 à votre fichier d'environnement PATH. Selon le shell que vous utilisez, l'un des fichiers suivants peut avoir été modifié: ~/.bash_login, ~/.bash_profile, ~/.cshrc, ~/.profile, ~/.tcshrc et/ou ~/.zprofile.

Maintenant, nous pouvons installer Python 2.7:

$ brew install python 

Hope this helps quelqu'un.

+0

Il est beaucoup plus facile (et plus sûr) de créer un virtualenv qui fait référence à la version de Python installée par Apple. Ensuite, vous pouvez installer toutes vos dépendances dans ce virtualenv. (Créez le virtualenv en écrivant: virtualenv -p /usr/bin/python2.7 myenv) –