zoukankan      html  css  js  c++  java
  • flownet2.0 caffe anaconda2 编译安装


    1. 下载flownet2.0源码到指定目录

    cd /home/zzq/saliency_models/deep_optical_flow
    git clone https://github.com/lmb-freiburg/flownet2
    cd flownet2
    cp Makefile.config.example Makefile.config
    

    2. 新建anaconda2 flownet2.0环境

    cd ~/anaconda2/bin
    conda create -n flownet2.0 python=2.7
    source activate flownet2.0
    conda install numpy
    conda instaLL cython
    conda install scipy
    conda install scikit-image
    pip install msgpack
    pip install opencv-python
    

    3. 配置flownet2.0环境

    修改Makefile.config:

    USE_CUDNN := 1
    USE_OPENCV := 1
    ANACONDA_HOME := $(HOME)/anaconda2/envs/flownet2.0
    PYTHON_INCLUDE := $(ANACONDA_HOME)/include 
     		    $(ANACONDA_HOME)/include/python2.7 
            	    $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include 
                        /usr/include/python2.7 
    
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
    

    修改Makefile:

    LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial  opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
    
    NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
    

    4. 编译flownet2.0

    make -j `nproc` all tools pycaffe 
    

    如果出现fatal error: pyconfig.h: No such file or directory #include "pyconfig.h",则:

    make clean
    export CPLUS_INCLUDE_PATH=/home/zzq/anaconda2/envs/flownet2.0/include/python2.7
    make -j `nproc` all tools pycaffe
    

    如果出现 ‘numeric_limits’ is not a member of ‘std’, 则在出错CPP文件中添加:

    #include<stdexcept>
    #include<limits>
    

    如果出现

    /usr/local/lib/libopencv_imgcodecs.so:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用
    /usr/local/lib/libopencv_imgcodecs.so:对‘TIFFWriteEncodedStrip@LIBTIFF_4.0’未定义的引用
    /usr/local/lib/libopencv_imgcodecs.so:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用
    /usr/local/lib/libopencv_imgcodecs.so:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用
    

    则在cmake opencv时添加:

    -D BUILD_TIFF=ON
    

    配置环境, 每次使用 flownet2.0 时, 都要进行如下操作

    source set-env.sh


    5. 测试flownet2.0

    cd models,下载模型。

    run-flownet.py ../models/FlowNet2/FlowNet2_weights.caffemodel.h5  ../models/FlowNet2/FlowNet2_deploy.prototxt.template /home/zzq/ZZQ/MSVSD/OUTPUT/video/1/1.jpg /home/zzq/ZZQ/MSVSD/OUTPUT/video/1/2.jpg /home/zzq/ZZQ/MSVSD/OUTPUT/video/1/flow2.flo 
    
    

    可视化结果:

    注意: conda install protobuf一定要在编译环境成功之后。否则会出现/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options. 的错误。

    CV小蜡肉
  • 相关阅读:
    65 进程互斥锁的优化实现
    Linux多线程编程
    互斥锁和自旋锁
    64 进程互斥锁的初步实现(下)
    63 进程互斥锁的初步实现(中)
    Linux中断子系统
    62 进程互斥锁的初步实现(上)
    61 进程互斥锁的详细设计
    Linux进程调度的时机
    嵌入式领域linux作为实时操作系统的缺点(转)
  • 原文地址:https://www.cnblogs.com/zzq-123456/p/9706036.html
Copyright © 2011-2022 走看看