存档在 2017年12月

MAC 安装caffe问题

2017年12月8日

各种稀奇古怪的问题都碰到,今天按如下方法安装完成。
1.安装anaconda2,默认在根目录;
2.依赖包
[plain]for x in snappy leveldb gflags glog szip hdf5 lmdb homebrew/science/opencv;
do
brew uninstall $x;
brew install –fresh -vd $x;
done
brew uninstall –force protobuf; brew install –with-python –fresh -vd protobuf
brew uninstall boost boost-python; brew install –fresh -vd boost boost-python
[/plain]
3.因为我是用cmake安装很多问题,这次换用make来直接编译,直接修改Makefile.config,去掉CPU_ONLY的#号,修改python路径
4.
[plain]“cublas_v2.h: No such file or directory”[/plain]如果是无GPU,则检查CPU_ONLY的开关值。
5.[plain]Undefined symbols for architecture x86_64: for caffe build
cv::imread(cv::String const&, int)”, referenced from:
caffe::WindowDataLayer::InternalThreadEntry() in window_data_layer.o
caffe::WindowDataLayer::InternalThreadEntry() in window_data_layer.o
caffe::ReadImageToCVMat(std::string const&, int, int, bool) in io.o
“cv::imdecode(cv::_InputArray const&, int)”, referenced from:
caffe::DecodeDatumToCVMat(caffe::Datum const&, int, int, bool) in io.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)[/plain]
出现上述信息的原因是cv::imread是在opencv_imgcodecs中定义的,然而这篇博客中并没有加-lopencv_imgcodecs,将它在Linker Flags也加上即可,在Makefile里搜索pthread 把这个选项紧跟在后面。
6.[plian]No module named google.protobuf.internal[/plain]装的是anaconda2, 解决方法是在其中安装protobuf最新版本
[plain]conda install protobuf[/plain]
7.

No module named pydot

安装下面的包

brew install python-pydot

8.

dot” not found in path

安装下面的包
[plain]brew install graphviz[/plain]

相关归档