MXNet ML lib C++ OS X 上的分段错误
MXNet ML lib C++ segmentation fault on OS X
我在OS X上使用Apache MXNet机器学习库时遇到问题。
我已经能够运行Python版本的Lenet,卷积神经网络。我在 Anaconda Python 2.7 和 3.6 下用 pip 安装了这些。
conda create -n mxnet27 python=2.7
conda info --envs
source activate mxnet27
conda list
pip install mxnet==0.12.1
但是当我运行C++示例文件 cpp-package/example/lenet 时.cpp我得到这个段错误:
Segmentation fault: 11
这是代码中抛出段错误的位置:
Symbol conv1 =
Convolution("conv1", data, conv1_w, conv1_b, Shape(5, 5), 20);
对于其他C++示例,我得到了类似的段错误。
我已经在OS X 10.13.2上构建了MXNet我禁用了尽可能多的库,例如OpenCV和CUDA。
根据Simon Corston-Oliver的建议,我升级到MXNet 1.0.0,但该版本无法在OS X上使用Clang进行编译。
operator_tune.h:150:36: note: add an explicit instantiation declaration to suppress this
warning if 'mxnet::op::OperatorTuneByType<float>::tuning_mode_' is explicitly instantiated in another translation unit
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:601:15: error: object of type 'std::__1::pair<int,
mxnet::test::perf::TimingInstrument::Info>' cannot be assigned because its copy assignment operator is implicitly deleted
我不知道
v0.12 有什么具体问题会导致段错误,但在我们深入研究之前,我建议升级到 2017-12-04 发布的 v1.0。
如果您仍然在 1.0 中遇到相同的问题,我们可以进行调试。
>我找到了编译 MXNet 1.0.0 的解决方案,由 helloniklas 发布在这里:
https://github.com/apache/incubator-mxnet/issues/9217
它只涉及使用make
而不是CMake
。
这个解决方案让我工作并编译了代码。
C++示例运行没有 SEG 错误,但文档很少。我只得到了一个做培训。
相关文章:
- 在某些循环内使用vector.push_back时出现分段错误
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 当我的阵列太大时出现分段错误
- 分段错误当我试图运行程序时出错
- 在c++中初始化矩阵时出现分段错误(核心转储)
- 尝试使用集合函数时出现分段错误
- 我无法缩小此分段错误的原因
- g++的分段错误(在NaN上使用to_string两次时)
- 我是如何在这段代码中出现分段错误的
- 创建结构的数组时遇到分段错误
- 在c++中键入向量中的所有值后,得到分段错误(核心转储)
- 在 c++ 中实现 Trie 时出现分段错误
- 为什么 fstream 在打开带有格式的文件时会导致分段错误?
- 为什么我遇到分段错误?
- 动态类的分段错误(家庭作业问题)
- 分段错误 - 读取初始化指针的数组
- 如何摆脱C ++中的分段错误错误?
- 使用 CTYPE 时出现分段错误
- 为什么代码给出分段错误?