springkim/YOLOv3_SpringEdition

what the opencv version was used ?

Opened this issue · 13 comments

What is the opencv version and the opencv library you are using? Thank you, so much!

Hi @lehuiwu
Whatever you want.
opencv doesn't required for build library. But, you need opencv for run or test.

yes, thank you very much for your reply, I'm just want to test, and when I debug the Yolo3_Spring Edition_Test, and there some error appeared, so I think it may be need some opencv build library, like opencv_highgui310.lib, opencv_core310.lib, can you tell me what library are you used, thank you!

Oh I see. I think you are testing on Windows OS. And, I used OpenCV 3.4.1.
Additionally, That error will appear when the library settings are incorrect.
How about installing Opencv in the following ways?
https://github.com/springkim/WSpring

It provide opencv installer for Visual Studio 2015, 2013 and MinGW64.

thank you!, But there are a new error appeared, there are some steps for test I have did. Firstly , I run the "build_windows.bat", and it successed, then I build "Yolov3_SpringEdition_Test.sln", and it also successed, but when I debug the "main.cpp", a error appeared as follow:

F:\YOLOv3_SpringEdition\Yolov3_SpringEdition_Test\libYOLOv3SE.dll is not specified to run on windows, or it contains errors, try reinstalling the program with the original installation media, or contact your system administrator or software vendor for support. Error status 0xc000012f.

How can I solve the problem, thank you!
My software condition: CUDA8.0, CUDNNv7.1, Visual studio 2015, opencv 3.41,Cmake 3.11

This is because the corresponding dll is for release mode only. MSVC's dll calling is diffrent with gcc.
So, you need build again for make dll for debug mode.
Change the 24th line of file build_windows.bat as shown below.

cmake --build . --config Debug--target ALL_BUILD

Then, Cmake will make dll for debug mode.

Thanks :)

Thank you, I followed your suggestion to modify the “build_windows.bat” file, and cmake succeeded,and then I open the "YOLOv3_SpringEdition.sln" in the "build" file using Visual Studio 2015, and I build the "ALL_BUILD", there a error appeared as follows:

CMake Error at libYOLOv3SE_generated_activation_kernels.cu.obj.Debug.cmake:279 (message):
Error generating file
F:/YOLOv3_SpringEdition/build/CMakeFiles/libYOLOv3SE.dir/src/Debug/libYOLOv3SE_generated_activation_kernels.cu.obj

Have you encountered a similar problem?

Thanks!

Thank you for your patience reply, I followed your suggestion make dll for debug mode. the question of "libYOLOv3SE.dll", I have solved it, there appeared another question, I don't know why the problem appears. as:
and for more details, it appears in "YOLOv3SE.h", about line 221as follow:

std::string dll = "libYOLOv3SE.dll"
m_hmod = LoadLibraryA(dll.c_str());
if (m_hmod == nullptr) {
::MessageBoxA(NULL, "libYOLOv3SE.dll not found. or can't load dependency dll(cudnn64_7)", "Fatal", MB_OK);
exit(1);
}

I want to know what path your "cudnn64_7.dll" is placed in,

I can find "cudnn64_7.dll" in my windows computer in:
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin"
and "F:\YOLOv3_SpringEdition\Yolov3_SpringEdition_Test"

Waiting for your help,thank you /(ㄒoㄒ)/~~

I am very sorry to bother you. I want to know are you build the code on "Debug x86" or "Debug x64", thank you!

I built it with Debug x64.
cudnn64_7.dll exists by version of CUDA. Therefore, if possible, it is recommended that this file be in a directory such as libYOLOV3SE.dll.
There is a batch file to download cudnn to Yolov3SpringEdition_test folder is ready and you can use it.

And YOLOV3 does not operate at x86.

Hi, thanks for your code. I have troubles. I used release x64 for testing in MSVC. I put libYOLOV3SE.dll and cudnn64_7.dll (7.4) near exe file and got an error 0xc000012f when tried to run. Also i had this error: nvcc fatal : Unsupported gpu architecture 'compute_75' while trying run build_windows.bat. Can you help me?
Cuda 9.2 cudnn 7.4 MSVC 2017

Hi @shkipper12.
Simple, Do not use CUDA 9.1 and 9.2, It has unknown error.
YOLO works on CUDA 8.0, 9.0 and 10.0.

Thanks for your reply. One more question. Does the main.cpp in test directory run on GPU or CPU?

upwon commented

when I run the "build_windows.bat", and it is exists some errors .
My software condition: CUDA8.0, CUDNNv7.1, Visual studio 2017, opencv 3.3.1,Cmake 3.13.2

A subdirectory or file build already exists.
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES)
-- Could NOT find OpenMP (missing: OpenMP_C_FOUND)
-- Configuring done
-- Generating done
-- Build files have been written to: E:/Program_Project/visualstudio/YOLOProject/YOLOv3_SpringEdition/YOLOv3_SpringEdition-master/build
Microsoft (R) build engine version for the .NET Framework 15.9.21+g9802d43bc3
Copyright (C) Microsoft Corporation. all rights reserved.

The build start time is 2018/12/19 14:39:58.
The project "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\ALL_BUILD.
Vcxproj" (default target).
Project "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\ALL_BUILD.vcxproj
"(1) is generating "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\ZERO_ on node 1
CHECK.vcxproj” (2) (default target).
InitializeBuildStatus:
"x64\Release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" is being created because "AlwaysCreate" has been specified.
CustomBuild:
All outputs are up to date.
FinalizeBuildStatus:
The file "x64\Release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" is being deleted.
The Touch task is being executed on "x64\Release\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
The build project "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\ZERO_CHECK.v has been completed
The operation of cxproj" (default target).

Project "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\ALL_BUILD.vcxproj
"(1) is generating "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\YOLOv on node 1
3SE_Train.vcxproj” (3) (default target).
InitializeBuildStatus:
The Touch task is being executed on "YOLOv3SE_Train.dir\Release\YOLOv3SE_Train.tlog\unsuccessfulbuild".
CustomBuild:
Building NVCC (Device) object CMakeFiles/libYOLOv3SE.dir/src/Release/libYOLOv3SE_generated_activation_kernels.cu.obj
** Nvcc fatal : Unsupported gpu architecture 'compute_75'**
CMake Error at libYOLOv3SE_generated_activation_kernels.cu.obj.Release.cmake:219 (message):
Error generating
E:/Program_Project/visualstudio/YOLOProject/YOLOv3_SpringEdition/YOLOv3_SpringEdition-master/build/CMakeFiles/libYO
LOv3SE.dir/src/Release/libYOLOv3SE_generated_activation_kernels.cu.obj

F:\20180926\Microsoft Visual Studio2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error
MSB6006: "cmd.exe" has been quit with code 1. [E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-ma
Ster\build\YOLOv3SE_Train.vcxproj]
The build project "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\YOLOv3SE_Tra has been completed
In.vcxproj" (default target) operation - failed.

Project "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\ALL_BUILD.vcxproj
"(1) is generating "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\libYO on node 1
LOv3SE.vcxproj" (4) (default target).
InitializeBuildStatus:
The Touch task is being executed on "libYOLOv3SE.dir\Release\libYOLOv3SE.tlog\unsuccessfulbuild".
CustomBuild:
Building NVCC (Device) object CMakeFiles/libYOLOv3SE.dir/src/Release/libYOLOv3SE_generated_activation_kernels.cu.obj
Nvcc fatal : Unsupported gpu architecture 'compute_75'
CMake Error at libYOLOv3SE_generated_activation_kernels.cu.obj.Release.cmake:219 (message):
Error generating
E:/Program_Project/visualstudio/YOLOProject/YOLOv3_SpringEdition/YOLOv3_SpringEdition-master/build/CMakeFiles/libYO
LOv3SE.dir/src/Release/libYOLOv3SE_generated_activation_kernels.cu.obj

F:\20180926\Microsoft Visual Studio2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error
MSB6006: "cmd.exe" has been quit with code 1. [E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-ma
Ster\build\libYOLOv3SE.vcxproj]
The build project "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\libYOLOv3SE has been completed.
Operation of vcxproj" (default target) - failed.

The build project "E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\ALL_BUILD.vc has been completed
Xproj" (default target) operation - failed.

The build failed.

"E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\ALL_BUILD.vcxproj" (
Default target) (1) ->
"E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\YOLOv3SE_Train.vcxp
Roj" (default target) (3) ->
(CustomBuild target) ->
F:\20180926\Microsoft Visual Studio2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): err
Or MSB6006: "cmd.exe" has been quit with code 1. [E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-
Master\build\YOLOv3SE_Train.vcxproj]

"E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\ALL_BUILD.vcxproj" (
Default target) (1) ->
"E:\Program_Project\visualstudio\YOLOProject\YOLOv3_SpringEdition\YOLOv3_SpringEdition-master\build\libYOLOv3SE.vcxproj
"(Default target) (4) ->
F:\20180926\Microsoft Visual Studio2017\Professional\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error MSB6006`

Then, I changed another computer and there were other errors.
My software condition: CUDA8.0, CUDNNv7.1, Visual studio 2015, opencv 3.3.1,Cmake 3.13.2

A subdirectory or file build already exists.
CMake Error: The current CMakeCache.txt directory D:/project_wxw/procject/visualstudio/YOLO_dll/YOLOv3_SpringEdition-master/build/CMakeCache.txt is different than the directory d:/project_wxw/procject/visualstudio/YOLO_dll/YOLOv3_SpringEdition-master/YOLOv3_SpringEdition-master/build where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
CMake Error: The source "D:/project_wxw/procject/visualstudio/YOLO_dll/YOLOv3_SpringEdition-master/CMakeLists.txt" does not match the source "D:/project_wxw/procject/visualstudio/YOLO_dll/YOLOv3_SpringEdition-master/YOLOv3_SpringEdition-master/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory.
CMake Error: The current CMakeCache.txt directory D:/project_wxw/procject/visualstudio/YOLO_dll/YOLOv3_SpringEdition-master/build/CMakeCache.txt is different than the directory d:/project_wxw/procject/visualstudio/YOLO_dll/YOLOv3_SpringEdition-master/YOLOv3_SpringEdition-master/build where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
CMake Error:
Generator

Visual Studio 15 2017 Win64

could not find any instance of Visual Studio.

Can you tell how can I get the DLL.
Waiting for your help,thanks sir.😁