macOS Sierra (10.12.4)编译pycaffe成功后,执行时候崩溃,错误“Segmentation fault: 11”

参照 macOS Sierra (10.12.3)编译Caffe 编译成功 Caffe 后,开始尝试使用 CaffePython 接口,执行如下命令:

编译一切成功,但是当执行

的时候,程序崩溃,提示如下内容:

具体的崩溃信息可以从错误信息中看到如下信息:

这个问题纠结良久,百思不得其解。后来通过Google找到问题的原因,原因在于,由于macOS Sierra是自带Python的,但是他自带的版本并没有包含Pip,同时,就算手工安装上Pip,在安装第三方包的时候,某些包也会由于权限问题,导致安装失败,因此比较方便的解决方法其实就是使用HomeBrew重新安装一个Python来绕过系统默认的Python的种种限制。但是这样带来一个问题,那就是在编译Caffe的时候,我们链接的是系统自带的Python动态库,但是运行时候,却使用了HomeBrew安装的Python,这就导致了程序运行时候的混乱,导致程序崩溃。
解决方法为,指定链接的Python库为我们使用HomeBrew安装的版本即可,如下:

找到如下语句:

修改为(如果你的版本是2.7.13的话,其他版本请根据实际情况修改):

然后重新编译代码

测试代码如下:

执行如下命令:

执行正常即可说明编译没问题了。

参考链接


发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注