ubuntu下無root許可權下用anaconda2從原始碼編譯並安裝caffe2 採坑日記!
相信做目標檢測的同學都知道facebook已經開源了一個整合很多先進目標檢測演算法的庫,但是官網教程主要針對採用ubuntu系統python來編譯安裝caffe2,由於採用深度學習伺服器沒有sudo許可權,我花費了一天半安裝GPU版的caffe2,最多的錯誤就是protobuff錯誤!!很難搞,做了很多測試才弄懂,下面做一個簡單的總結,希望能幫助後來的初學者:
編譯Anaconda下的Caffe2常出現的protobuff錯誤如下:
../lib/libcaffe2.so: undefined reference to `google::protobuf::internal::OnShutdownDestroyString(std::string const*)'
../lib/libcaffe2.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
../lib/libcaffe2.so: undefined reference to `google::protobuf::Message::ShortDebugString() const'
../lib/libcaffe2.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
../lib/libcaffe2.so: undefined reference to `google::protobuf::internal::ParseNamedEnum(google::protobuf::EnumDescriptor const*, std::string const&, int*)'
../lib/libcaffe2.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)'
../lib/libcaffe2.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/blob_test] Error 1
make[1]: *** [caffe2/CMakeFiles/blob_test.dir/all] Error 2
Linking CXX shared module python/caffe2_pybind11_state.so
[ 92%] Built target caffe2_pybind11_state
make: *** [all] Error 2
下面,是我探索出的安裝方法(僅供參考!)
Anaconda2+自建python2.7的虛擬環境:py27+Caffe2GPU版
GPU的cuda配置不再本教程範圍介紹之內!請自行配置
下載anconda到使用者的home路徑下就不介紹了,以我的/home/slb/anaconda2為例介紹:
1.確定anconda的bin路徑在普通使用者的.bashrc中,如:
export PATH="/home/slb/anaconda2/bin:$PATH"
路徑裡不要新增如下路徑,以免系統的Protobuf和conda環境的Protobuf衝突!:
#export PYTHONPATH=/usr/local:$PYTHONPATH
#export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
2.建立名為py27的conda虛擬環境,以避免與Tensorflow和老版Caffe的干擾
如下:
conda create -n py27 python=2.7
也可以自己起一個名字如叫:py27-caffe2
3.讓管理員執行一下如下命令(注,這步貌似不是必須的)
# for Ubuntu 14.04
sudo apt-get install -y --no-install-recommends libgflags2
# for Ubuntu 16.04
sudo apt-get install -y --no-install-recommends libgflags-dev
sudo apt-get install -y --no-install-recommends \
libgoogle-glog-dev \
libgtest-dev \
libiomp-dev \
libleveldb-dev \
liblmdb-dev \
libopencv-dev \
libopenmpi-dev \
libsnappy-dev \
libprotobuf-dev \
openmpi-bin \
openmpi-doc \
protobuf-compiler \
python-dev \
python-pip
3.安裝caffe2到Caffe2_ROOT,如我的Caffe2安裝在/home/slb/softwares/目錄下,具體步驟是:
cd /home/slb/softwares/
git clone --recursive https://github.com/caffe2/caffe2.git && cd caffe2
啟用py27的python環境,進行caffe2的編譯並安裝到虛擬環境的庫中
source activate py27
安裝依賴:
conda install -y \
future \
gflags \
glog \
lmdb \
mkl \
mkl-include \
numpy \
opencv \
protobuf \
snappy \
six
再執行一遍下面指令:
conda install -y --channel https://conda.anaconda.org/conda-forge gflags glog numpy protobuf(這步很關鍵,不然會protobuf老報錯!在conda安裝包的時候最好指定從官網正式釋出包源安裝!!因為直接用conda install安裝的包可能不穩定)
尤其是編譯時會用到conda安裝的opencv和protobuff
檢視可得到的protobuf
protoc --version
顯示為libprotoc 3.5.1,而不是usr/local/.下的 libprotoc即表明該虛擬環境下不是系統路徑下的protobuf,但是即便有干擾我們也不怕,看下面的步驟:
cd到Caffe2目錄下:
mkdir build && cd build
然後cmake到上一層目錄下,即按照下面的“嘗試1”進行操作(按照嘗試2操作會安裝失敗)
嘗試1:成功測試!
注:成功安裝的話python的site-packages目錄下應該有caffe2和caffe資料夾!
cmake指令為:
~/softwares/caffe2/build$ cmake .. -DCMAKE_PREFIX_PATH=$HOME/anaconda2/envs/py27 -DCMAKE_INSTALL_PREFIX=$HOME/anaconda2/envs/py27
注:當時把py27寫錯了,以至於安裝到其他環境了,注意貼上時注意!
其中:
-DCMAKE_PREFIX_PATH=$HOME/anaconda2/envs/py27保證編譯搜尋庫時先搜尋虛擬環境中可用的庫
-DCMAKE_INSTALL_PREFIX=$HOME/anaconda2/envs/py27保證最終的caffe2安裝到你的虛擬環境的python包資料夾下
cmake輸出資訊:
-- GCC 4.8.4: Adding gcc and gcc_s libs to link line
-- Include NCCL operators
-- Including image processing operators
-- Excluding video processing operators due to no opencv
-- Excluding mkl operators as we are not using mkl
-- Include Observer library
-- Automatically generating missing __init__.py files.
--
-- ******** Summary ********
-- General:
-- CMake version : 2.8.12.2
-- CMake command : /usr/bin/cmake
-- Git version : v0.8.1-1061-g5d7ef79
-- System : Linux
-- C++ compiler : /usr/bin/c++
-- C++ compiler version : 4.8.4
-- Protobuf compiler : /home/slb/anaconda2/envs/py27/bin/protoc
-- Protobuf include path : /home/slb/anaconda2/envs/py27/include
-- Protobuf libraries : optimized;/home/slb/anaconda2/envs/py27/lib/libprotobuf.so;debug;/home/slb/anaconda2/envs/py27/lib/libprotobuf.so;-lpthread
-- CXX flags : -Wno-deprecated -std=c++11 -O2 -fPIC -Wno-narrowing -Wno-invalid-partial-specialization
-- Build type : Release
-- Compile definitions :
--
-- BUILD_BINARY : ON
-- BUILD_DOCS : OFF
-- BUILD_PYTHON : ON
-- Python version : 2.7.11
-- Python library : /home/slb/anaconda2/envs/py27/lib/libpython2.7.so
-- BUILD_SHARED_LIBS : ON
-- BUILD_TEST : ON
-- USE_ATEN : OFF
-- USE_ASAN : OFF
-- USE_CUDA : ON
-- CUDA version : 8.0
-- CuDNN version : 6.0.21
-- CUDA root directory : /usr/local/cuda
-- CUDA library : /usr/lib/x86_64-linux-gnu/libcuda.so
-- CUDA NVRTC library : /usr/local/cuda/lib64/libnvrtc.so
-- CUDA runtime library: /usr/local/cuda/lib64/libcudart.so
-- CUDA include path : /usr/local/cuda/include
-- NVCC executable : /usr/local/cuda/bin/nvcc
-- CUDA host compiler : /usr/bin/cc
-- USE_EIGEN_FOR_BLAS : 1
-- USE_FFMPEG : OFF
-- USE_GFLAGS : ON
-- USE_GLOG : ON
-- USE_GLOO : ON
-- USE_LEVELDB : ON
-- LevelDB version : 1.15
-- Snappy version : ..
-- USE_LITE_PROTO : OFF
-- USE_LMDB : ON
-- LMDB version : 0.9.21
-- USE_METAL : OFF
-- USE_MKL :
-- USE_MOBILE_OPENGL : OFF
-- USE_MPI : ON
-- USE_NCCL : ON
-- USE_NERVANA_GPU : OFF
-- USE_NNPACK : ON
-- USE_OBSERVERS : ON
-- USE_OPENCV : ON
-- OpenCV version : 3.3.0
-- USE_OPENMP : OFF
-- USE_PROF : OFF
-- USE_REDIS : OFF
-- USE_ROCKSDB : OFF
-- USE_THREADS : ON
-- USE_ZMQ : OFF
嘗試2:失敗!!,雖成功編譯但沒有成功安裝到python路徑中,原因:cmake時輸出資訊顯示:BUILD_PYTHON : OFF,在次編譯查詢到是因為CMAKE後面指令中的python路徑指定造成的,不應該有相關的指定
cmake .. -DCMAKE_PREFIX_PATH=$HOME/anaconda2/envs/py27 -DCMAKE_INSTALL_PREFIX=$HOME/anaconda2/envs/py27 -DPYTHON_LIBRARY=$(python2 -c "from distutils import sysconfig; print(sysconfig.get_python_lib())") -DPYTHON_INCLUDE_DIR=$(python2 -c "from distutils import sysconfig; print(sysconfig.get_python_inc())")
其中:
-DCMAKE_PREFIX_PATH=$HOME/anaconda2/envs/py27保證編譯搜尋庫時先搜尋虛擬環境中可用的庫
-DCMAKE_INSTALL_PREFIX=$HOME/anaconda2/envs/py27保證最終的caffe2安裝到你的虛擬環境的python包資料夾下
-DPYTHON_LIBRARY=$(python2 -c "from distutils import sysconfig; print(sysconfig.get_python_lib())") -DPYTHON_INCLUDE_DIR=$(python2 -c "from distutils import sysconfig; print(sysconfig.get_python_inc())")再次保證編譯時能先去啟用環境下的python中找可用的libprotoc(例如當系統的libprotoc低版本時,如2.5版本的就會衝突和python中的protoc庫,從而導致無法順利安裝)
cmake配置後的輸出資訊如下:僅供參考
-- GCC 4.8.4: Adding gcc and gcc_s libs to link line
-- Include NCCL operators
-- Including image processing operators
-- Excluding video processing operators due to no opencv
-- Excluding mkl operators as we are not using mkl
-- Include Observer library
--
-- ******** Summary ********
-- General:
-- CMake version : 2.8.12.2
-- CMake command : /usr/bin/cmake
-- Git version : v0.8.1-1061-g5d7ef79
-- System : Linux
-- C++ compiler : /usr/bin/c++
-- C++ compiler version : 4.8.4
-- Protobuf compiler : /home/slb/anaconda2/envs/caffe2-py27/bin/protoc
-- Protobuf include path : /home/slb/anaconda2/envs/caffe2-py27/include
-- Protobuf libraries : optimized;/home/slb/anaconda2/envs/caffe2-py27/lib/libprotobuf.so;debug;/home/slb/anaconda2/envs/caffe2-py27/lib/libprotobuf.so;-lpthread
-- CXX flags : -Wno-deprecated -std=c++11 -O2 -fPIC -Wno-narrowing -Wno-invalid-partial-specialization
-- Build type : Release
-- Compile definitions :
--
-- BUILD_BINARY : ON
-- BUILD_DOCS : OFF
-- BUILD_PYTHON : OFF
-- BUILD_SHARED_LIBS : ON
-- BUILD_TEST : ON
-- USE_ATEN : OFF
-- USE_ASAN : OFF
-- USE_CUDA : ON
-- CUDA version : 8.0
-- CuDNN version : 6.0.21
-- CUDA root directory : /usr/local/cuda
-- CUDA library : /usr/lib/x86_64-linux-gnu/libcuda.so
-- CUDA NVRTC library : /usr/local/cuda/lib64/libnvrtc.so
-- CUDA runtime library: /usr/local/cuda/lib64/libcudart.so
-- CUDA include path : /usr/local/cuda/include
-- NVCC executable : /usr/local/cuda/bin/nvcc
-- CUDA host compiler : /usr/bin/cc
-- USE_EIGEN_FOR_BLAS : 1
-- USE_FFMPEG : OFF
-- USE_GFLAGS : ON
-- USE_GLOG : ON
-- USE_GLOO : ON
-- USE_LEVELDB : ON
-- LevelDB version : 1.15
-- Snappy version : ..
-- USE_LITE_PROTO : OFF
-- USE_LMDB : ON
-- LMDB version : 0.9.21
-- USE_METAL : OFF
-- USE_MKL :
-- USE_MOBILE_OPENGL : OFF
-- USE_MPI : ON
-- USE_NCCL : ON
-- USE_NERVANA_GPU : OFF
-- USE_NNPACK : ON
-- USE_OBSERVERS : ON
-- USE_OPENCV : ON
-- OpenCV version : 2.4.13.4
-- USE_OPENMP : OFF
-- USE_PROF : OFF
-- USE_REDIS : OFF
-- USE_ROCKSDB : OFF
-- USE_THREADS : ON
-- USE_ZMQ : OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /home/slb/softwares/caffe2/build
最後一步:
make install
編譯並把編譯好的庫安裝到你的虛擬環境的python庫中,安裝成功, 最後會輸入如下資訊:
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/ios/mpscnn/mpscnn_context.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/ios/mpscnn/mpscnn.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/ios/ios_caffe_defines.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/libvulkan-stub
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/libvulkan-stub/include
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/libvulkan-stub/include/libvulkan-stub.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/libvulkan-stub/include/vulkan
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/libvulkan-stub/include/vulkan/vk_platform.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/libvulkan-stub/include/vulkan/vulkan.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/libvulkan-stub/src
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/snpe
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/mobile/contrib/snpe/snpe_ffi.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/adam_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/adagrad_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/rmsprop_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/ftrl_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/iter_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/learning_rate_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/fp32_momentum_sgd_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/fp16_momentum_sgd_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/learning_rate_functors.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/yellowfin_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/sgd/momentum_sgd_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/transforms
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/transforms/pattern_net_transform.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/transforms/common_subexpression_elimination.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/transforms/single_op_transform.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/transforms/conv_to_nnpack_transform.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/cuda_rtc
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/cuda_rtc/common_rtc.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/shm_mutex
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/shm_mutex/shm_mutex.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/aten
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/aten/docs
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/aten/aten_op_template.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/warpctc
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/warpctc/ctc_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/prof
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/prof/htrace_conf.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/prof/prof_dag_stats_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/prof/prof_dag_net.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/script
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/script/error_report.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/script/tree_views.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/script/compiler.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/script/examples
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/script/tree.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/script/lexer.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/script/parser.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/docker-ubuntu-14.04
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/torch
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/torch/torch_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/tensorboard
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/nccl
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/nccl/cuda_nccl_gpu.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/nervana
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/nervana/nervana_c_api.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/nervana/nervana.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/nnpack
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/gloo
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/gloo/common.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/gloo/allgather_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/gloo/allreduce_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/gloo/common_world_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/gloo/store_handler.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/gloo/context.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/gloo/barrier_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/contrib/gloo/broadcast_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/mkl
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/operator_test
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/rnn
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/layers
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/examples
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/docs
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/helpers
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/modeling
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/pybind_state_dlpack.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/pybind_state.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/test
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/predictor
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/models
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/models/seq2seq
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/tutorials
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/tutorials/images
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/tutorials/experimental
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/tutorials/py_gen
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/mint
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/mint/templates
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/mint/static
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/mint/static/css
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/python/dlpack.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/fused_rowwise_8bit_conversion_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/softmax_shared.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/recurrent_network_blob_fetcher_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/cross_entropy_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/slice_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/reshape_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/reducer_functors.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/expand_squeeze_dims_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/elementwise_logical_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/roi_align_gradient_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/order_switch_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/zero_gradient_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/flexible_top_k.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/prepend_dim_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/string_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/boolean_unmask_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/conv_transpose_op_mobile.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/lengths_reducer_rowwise_8bit_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/loss_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/normalize_l1_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/conv_transpose_unpool_op_base.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/sparse_normalize_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/create_scope_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/rmac_regions_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/conv_op_cache_cudnn.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/concat_split_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/pad_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/batch_sparse_to_dense_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/quant_decode_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/percentile_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/square_root_divide_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/map_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/local_response_normalization_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/remove_data_blocks_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/conditional_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/gru_unit_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/box_with_nms_limit_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/partition_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/locally_connected_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/sequence_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/ngram_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/operator_fallback_gpu.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/prefetch_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/text_file_reader_utils.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/reduction_front_back_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/apmeter_op.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/math_ops.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/generate_proposals_op_util_boxes.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/top_k.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/conv_op_shared.h
-- Installing: /home/slb/anaconda2/envs/py27/include/caffe2/operators/dropout_op.h