导入coremltools时出错 - 无法导入名称ParametricSoftPlus

时间:2017-06-08 22:03:49

标签: python ios keras coreml

尝试使用Apple coreML工具使用Keras转换简单模型。 我正在使用Python 2.7 运行这行代码:

  

导入coremltools

给出以下错误:

来自keras.layers.advanced_activations的

导入ParametricSoftPlus

ImportError:无法导入名称ParametricSoftPlus

注意:我在脚本中导入ParametricSoftPlus没有问题:

  来自keras.layers.advanced_activations的

导入ParametricSoftPlus

注意#2:我打开了抛出错误的文件,如果我使用上面的相同语句,它会失败并出现同样的错误。

起初我认为它可能是一个权限问题,但如果没有,那么没有脚本文件可以访问keras的ParametricSoftPlus

注意#3:我可以绕过源文件中的那行代码,然后它为SReLU提供了相同的错误。

非常感谢任何帮助,提前谢谢。

1 个答案:

答案 0 :(得分:0)

事实证明我卸载了所有的Python库并重新安装了最低限度(是的,Keras是v.1.2.2)并且它仍然无法正常工作。

我也重新安装了pip: pip install --upgrade --force-reinstall

然后我决定全力以赴从我的系统中删除Python并重新安装它。这解决了我的问题。现在这不是一个解决方案,这只是一个解决方案和一个大的警告......你需要在删除它后立即重新安装python否则你的MAC操作系统将无法工作,你将需要重新安装你的操作系统。

可以在许多其他SO帖子中找到步骤:

删除Python 2.7框架

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

删除Python 2.7应用程序目录

sudo rm -rf "/Applications/Python 2.7"

删除/ usr / local / bin中指向此Python version see ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7'的符号链接 然后运行以下命令以删除所有链接:

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

如有必要,编辑您的shell配置文件以删除将/Library/Frameworks/Python.framework/Versions/2.7添加到您的PATH环境文件。根据您使用的shell,可能修改了以下任何文件:〜/ .bash_login,〜/ .bash_profile,〜/ .cshrc,〜/ .profile,〜/ .tcshrc和/或〜/ .zprofile。

现在,我们可以安装Python 2.7:

$ brew install python

希望这有助于某人。