Python 导入coremltools时出错-无法导入名称参数SoftPlus

Python 导入coremltools时出错-无法导入名称参数SoftPlus,python,ios,keras,coreml,Python,Ios,Keras,Coreml,尝试使用Apple coreML工具转换使用Keras的简单模型。 我正在使用Python 2.7 运行这行代码: 导入coremltools 请给出以下错误: 从keras.layers.advanced_激活导入参数SoftPlus ImportError:无法导入名称参数SoftPlus 注意:在脚本中导入ParameterSoftPlus没有问题: 从keras.layers.advanced_激活导入参数SoftPlus 注意#2:我打开了抛出错误的文件,如果我使用上面的相同语句,它将

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

导入coremltools

请给出以下错误:

从keras.layers.advanced_激活导入参数SoftPlus

ImportError:无法导入名称参数SoftPlus

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

从keras.layers.advanced_激活导入参数SoftPlus

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

起初我认为这可能是一个权限问题,但如果是的话,就没有脚本文件能够访问keras的ParameterSoftPlus

注意#3:我可以绕过源文件中的那行代码,然后它会给我SReLU同样的错误


非常感谢您提供的任何帮助。

结果是我卸载了所有Python库并重新安装了最低版本(是的,Keras是v.1.2.2),但它仍然无法工作

我还重新安装了pip:
pip安装--升级--强制重新安装

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

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

删除Python2.7框架

sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
删除Python2.7应用程序目录

sudo rm -rf "/Applications/Python 2.7"
删除/usr/local/bin中指向此Python
版本的符号链接参见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概要文件,以删除在PATH环境文件中添加的/Library/Frameworks/Python.framework/Versions/2.7。根据您使用的shell,以下任何文件都可能已被修改:~/.bash\u登录、~/.bash\u配置文件、~/.cshrc、~/.profile、~/.tcshrc和/或~/.zprofile

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

$ brew install python

希望这对其他人有所帮助。

您使用的是什么版本的Keras?coremltools目前需要Keras 1.2.2。如果你有一个不同的版本(如2.0),那么它将无法工作。我使用Keras 1.2.2创建一个引用苹果安装的Python版本的virtualenv要容易得多(也更安全)。然后,您可以在该virtualenv中安装所有依赖项。(通过编写:virtualenv-p/usr/bin/python2.7myenv来创建virtualenv)