1. 程式人生 > >ubuntu下無root許可權下用anaconda2從原始碼編譯並安裝caffe2 採坑日記!

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