vlogroup / cnn-crf-stereo Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU Affero General Public License v3.0
License: GNU Affero General Public License v3.0
Hi Patrick
I tried the example command line "./stereo_img --im0 ../data/im0.png --im1 ../data/im1.png", but got the following error:
terminate called after throwing an instance of 'IuCudaException'
what(): IuException: CUDA Error: out of memory
where: /home/xiaochenyang/cnn-crf-stereo/dependencies/imageutilities/include/iu/iucore/lineardevicememory.h | LinearDeviceMemory:60
Aborted (core dumped)
I thought maybe my GPU (nvs 310) is low-level that does not have enough memory to run the code. However, I was wondering do you have any parameter that can adjust batch size so that it can run on low memory GPU. By the way, is there any memory limit to run this code?
Thanks a lot!
I've compiled the stereo model, and ran the following command:
./stereo_img --im0 ../data/im0.png --im1 ../data/im1.png
The output.png image I got is empty (zeros only), and the output.pfm contains non-zero values - possibly some version of the original image (screenshot below).
Do you have any idea what could be the problem?
Output of the make command:
COMPILER FLAGS:
-- CMAKE_BUILD_TYPE: Release
-- BUILD_SHARED_LIBS: ON
-- CMAKE_C_FLAGS= -fopenmp
-- CMAKE_CXX_FLAGS = -fopenmp -std=c++11 -fPIC -fmax-errors=3 -fpermissive -ggdb -Wunused-result -Wno-unused-variable -Wno-unused-value -Wno-unused-but-set-variable -Wdisabled-optimization -Wdiv-by-zero -Wc++11-compat -Wno-float-equal -O2 -DPARALLEL -ffast-math -DNDEBUG
-- CMAKE_CXX_FLAGS_RELEASE = -O3 -DNDEBUG
-- CUDA_NVCC_FLAGS= -arch=sm_30;-expt-extended-lambda;-ftemplate-backtrace-limit=2;-lineinfo;-std=c++11;-Xcompiler=-Wno-sign-compare;-O2;-keep;-src-in-ptx;-DNDEBUG;-Xptxas=-warn-lmem-usage;-Xptxas=-warn-spills
-- CUDA_PROPAGATE_HOST_FLAGS= OFF
-- COMPILE_DEFINITIONS =
-- Imageutilities requested components: iucore;iuio;iumath
-- ImageUtilities using iuio, adding OpenCV as dependency
-- Found OpenCV: /usr/local (found version "3.4.0") found components: opencv_core opencv_highgui
Enabling fixes for OpenCV >= 3
-- Found OpenCV: /usr/local (found version "3.4.0") found components: opencv_videoio opencv_core opencv_imgcodecs opencv_imgproc opencv_highgui
-- Found Imageutilities: /home/administrator/cnn-crf-stereo/dependencies/imageutilities/lib /home/administrator/cnn-crf-stereo/dependencies/imageutilities/include;/usr/local/cuda-9.0/samples/common/inc
-- dir1='/usr/include'
-- dir1='/usr/include/OpenEXR'
COMPILER FLAGS:
-- CMAKE_CXX_FLAGS= -fopenmp -std=c++11 -fPIC -fmax-errors=3 -fpermissive -ggdb -Wunused-result -Wno-unused-variable -Wno-unused-value -Wno-unused-but-set-variable -Wdisabled-optimization -Wdiv-by-zero -Wc++11-compat -Wno-float-equal -O2 -DPARALLEL -ffast-math -DNDEBUG --std=c++11
-- CUDA_NVCC_FLAGS= -arch=sm_30;-expt-extended-lambda;-ftemplate-backtrace-limit=2;-lineinfo;-std=c++11;-Xcompiler=-Wno-sign-compare;-O2;-keep;-src-in-ptx;-DNDEBUG;-Xptxas=-warn-lmem-usage;-Xptxas=-warn-spills
-- CUDA_PROPAGATE_HOST_FLAGS= OFF
-- Boost version: 1.59.0
-- Found the following Boost libraries:
-- program_options
-- filesystem
-- system
link dirs /home/administrator/cnn-crf-stereo/dependencies/imageutilities/lib/libiucore.so;/home/administrator/cnn-crf-stereo/dependencies/imageutilities/lib/libiuio.so;/home/administrator/cnn-crf-stereo/dependencies/imageutilities/lib/libiumath.so;/usr/local/cuda-9.0/lib64/libcufft.so;/usr/lib/x86_64-linux-gnu/libHalf.so;/usr/lib/x86_64-linux-gnu/libIex.so;/usr/lib/x86_64-linux-gnu/libIlmImf.so;/usr/lib/x86_64-linux-gnu/libIlmThread.so;/usr/lib/x86_64-linux-gnu/libImath.so;opencv_core;opencv_highgui;opencv_videoio;opencv_core;opencv_imgcodecs;opencv_imgproc;opencv_highgui;opencv_core;opencv_highgui;opencv_videoio;opencv_core;opencv_imgcodecs;opencv_imgproc;opencv_highgui;/home/administrator/cnn-crf-stereo/stereo/../dependencies/slackprop/lib/libslack_prop.so;cnpy
-- Configuring done
-- Generating done
-- Build files have been written to: /home/administrator/cnn-crf-stereo/build
[ 5%] Linking CXX shared library libcudnn_stereo.so
[ 68%] Built target cudnn_stereo
[ 73%] Linking CXX shared library libstereo.so
[ 89%] Built target stereo
[ 94%] Linking CXX executable stereo_img
[100%] Built target stereo_img
Thanks!
In the readme is suggested to do: git submodule update --init --recursive
The other 2 worked for me.
Cloning into 'dependencies/slackprop'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:VLOGroup/slackprop.git' into submodule path 'dependencies/slackprop' failed
Dear sir, have you ever met errors after make in stereo. They have confused me for many days. Hope for your help. Thanks.
Here follows the results after make for stereo-net.
jennifer@jennifer-pc:~/cnn-crf-stereo-master/stereo/build$
sudo make -j4
[ 10%] Building CXX object CMakeFiles/cudnn_stereo.dir/operators/operator.cpp.o
[ 10%] Building CXX object CMakeFiles/cudnn_stereo.dir/utils.cpp.o
/home/jennifer/cnn-crf-stereo-master/stereo/utils.cpp: In function ‘void save(iu::TensorGpu_32f&, std::__cxx11::string)’:
/home/jennifer/cnn-crf-stereo-master/stereo/utils.cpp:39:54: error: no matching function for call to ‘npy_save(std::__cxx11::string&, float*, const unsigned int [4], int, const char [2])’
cnpy::npy_save(path, h_tensor->data(), shape, 4, "w");
^
In file included from /home/jennifer/cnn-crf-stereo-master/stereo/utils.cpp:18:0:
/usr/local/cnpy/include/cnpy.h:83:31: note: candidate: template void cnpy::npy_save(std::__cxx11::string, const T*, std::vector, std::__cxx11::string)
template void npy_save(std::string fname, const T* data, const
^
/usr/local/cnpy/include/cnpy.h:83:31: note: template argument deduction/substitution failed:
/home/jennifer/cnn-crf-stereo-master/stereo/utils.cpp:39:54: note: cannot convert ‘shape’ (type ‘const unsigned int [4]’) to type ‘std::vector’
cnpy::npy_save(path, h_tensor->data(), shape, 4, "w");
^
In file included from /home/jennifer/cnn-crf-stereo-master/stereo/utils.cpp:18:0:
/usr/local/cnpy/include/cnpy.h:218:31: note: candidate: template void cnpy::npy_save(std::__cxx11::string, std::vector, std::__cxx11::string)
template void npy_save(std::string fname, const std::vector
^
/usr/local/cnpy/include/cnpy.h:218:31: note: template argument deduction/substitution failed:
/home/jennifer/cnn-crf-stereo-master/stereo/utils.cpp:39:54: note: mismatched types ‘std::vector’ and ‘float*’
cnpy::npy_save(path, h_tensor->data(), shape, 4, "w");
^
/home/jennifer/cnn-crf-stereo-master/stereo/operators/operator.cpp: In member function ‘void Operator::setParams(std::__cxx11::string, std::__cxx11::string)’:
/home/jennifer/cnn-crf-stereo-master/stereo/operators/operator.cpp:66:73: error: invalid use of member function (did you forget the ‘()’ ?)
h_params = new iu::TensorCpu_32f(reinterpret_cast<float *>(params.data), params.shape[0], params.shape[1], params.shape[2], params.shape[3], true);
^
/home/jennifer/cnn-crf-stereo-master/stereo/operators/operator.cpp:68:73: error: invalid use of member function (did you forget the ‘()’ ?)
h_params = new iu::TensorCpu_32f(reinterpret_cast<float *>(params.data), 1, params.shape[0], 1, 1, true);
^
/home/jennifer/cnn-crf-stereo-master/stereo/operators/operator.cpp:81:9: error: ‘struct cnpy::NpyArray’ has no member named ‘destruct’
params.destruct();
^
compilation terminated due to -fmax-errors=3.
CMakeFiles/cudnn_stereo.dir/build.make:1510: recipe for target 'CMakeFiles/cudnn_stereo.dir/operators/operator.cpp.o' failed
make[2]: *** [CMakeFiles/cudnn_stereo.dir/operators/operator.cpp.o] Error 1
make[2]: *** 正在等待未完成的任务....
CMakeFiles/cudnn_stereo.dir/build.make:1486: recipe for target 'CMakeFiles/cudnn_stereo.dir/utils.cpp.o' failed
make[2]: *** [CMakeFiles/cudnn_stereo.dir/utils.cpp.o] Error 1
CMakeFiles/Makefile2:105: recipe for target 'CMakeFiles/cudnn_stereo.dir/all' failed
make[1]: *** [CMakeFiles/cudnn_stereo.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
jennifer@jennifer-pc:~/cnn-crf-stereo-master/stereo/build$
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.