aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sinigardi <stesinigardi@hotmail.com>2020-08-08 01:10:58 +0200
committerGitHub <noreply@github.com>2020-08-07 16:10:58 -0700
commit80fae15c0360462afeaeb1e1a4c53d3ddbd2711b (patch)
tree13cde3b85b122163b0f3c341ab54f58f62e11177
parent19739183848c679e8058b5f907c06cb0be0bbc4d (diff)
downloadvcpkg-80fae15c0360462afeaeb1e1a4c53d3ddbd2711b.tar.gz
vcpkg-80fae15c0360462afeaeb1e1a4c53d3ddbd2711b.zip
[darknet] ready for yolo_v4 (#11037)
* [darknet] ready for yolo_v4 * [darknet] add yolov4 training weights * [darknet] use github host for release materials * [darknet] update to latest fixed revision * [darknet] update to 20200504 release * fix static/shared CRT linking mismatch * [darknet] update to 20200519 * [darknet] add yolov4-tiny Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
-rw-r--r--ports/darknet/CONTROL2
-rw-r--r--ports/darknet/fix_shared_static.patch20
-rw-r--r--ports/darknet/portfile.cmake46
3 files changed, 63 insertions, 5 deletions
diff --git a/ports/darknet/CONTROL b/ports/darknet/CONTROL
index 3f22eeb31..ea0b5ce26 100644
--- a/ports/darknet/CONTROL
+++ b/ports/darknet/CONTROL
@@ -1,5 +1,5 @@
Source: darknet
-Version: 2020-03-02
+Version: 2020-06-29
Description: Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities.
Build-Depends: pthreads (windows), stb
diff --git a/ports/darknet/fix_shared_static.patch b/ports/darknet/fix_shared_static.patch
new file mode 100644
index 000000000..5b9670f41
--- /dev/null
+++ b/ports/darknet/fix_shared_static.patch
@@ -0,0 +1,20 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 3.12)
++cmake_minimum_required(VERSION 3.17)
+
+ set(Darknet_MAJOR_VERSION 0)
+ set(Darknet_MINOR_VERSION 2)
+@@ -77,6 +77,11 @@ if(CMAKE_CUDA_COMPILER AND ENABLE_CUDA)
+ else()
+ message(STATUS "Your setup supports half precision (it requires CC >= 7.0)")
+ endif()
++ endif()
++ if(BUILD_SHARED_LIBS)
++ set(CMAKE_CUDA_RUNTIME_LIBRARY "Shared")
++ else()
++ set(CMAKE_CUDA_RUNTIME_LIBRARY "Static")
+ endif()
+ else()
+ set(ENABLE_CUDA "FALSE" CACHE BOOL "Enable CUDA support" FORCE)
diff --git a/ports/darknet/portfile.cmake b/ports/darknet/portfile.cmake
index 9d15802b0..ed8a41a72 100644
--- a/ports/darknet/portfile.cmake
+++ b/ports/darknet/portfile.cmake
@@ -1,9 +1,11 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO AlexeyAB/darknet
- REF 81290b07376c5abb4988a492dda70913bb90133d
- SHA512 094197cde851dfdd1e102a3ffaed34d67a789dd75dc288bde611144dc9aa484ca0b9e3468abc297d075d3753553f7f09a214be279af9e58ccb642aa757909f79
+ REF 320e6fd8d29f6f7825ef668f15f955f90131f782
+ SHA512 f95ac04c1c4e1b3f28aa835a64d969ffee064a3681a7966b255981722d562aa1eb91c30a378cad2f1bccd4581b74d8c2ec641c57763bc0fa97bfce8b1c222480
HEAD_REF master
+ PATCHES
+ fix_shared_static.patch
)
# enable CUDA inside DARKNET
@@ -51,11 +53,31 @@ if ("cuda" IN_LIST FEATURES)
endif()
if("weights" IN_LIST FEATURES)
+ vcpkg_download_distfile(YOLOV4-TINY_WEIGHTS
+ URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights"
+ FILENAME "darknet-cache/yolov4-tiny.weights"
+ SHA512 804ca2ab8e3699d31c95bf773d22f901f186703487c7945f30dc2dbb808094793362cb6f5da5cd0b4b83f820c8565a3cba22fafa069ee6ca2a925677137d95f4
+ )
+ vcpkg_download_distfile(YOLOV4_WEIGHTS
+ URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights"
+ FILENAME "darknet-cache/yolov4.weights"
+ SHA512 77f779c58df67975b187cfead99c1e62d72c57e76c3715e35b97a1c7aba1c7b092be97ffb17907099543ac3957085a0fe9688df4a653ea62dfe8322afca53e40
+ )
+ vcpkg_download_distfile(YOLOV3-TINY-PRN_WEIGHTS
+ URLS "https://drive.google.com/u/0/uc?id=18yYZWyKbo4XSDVyztmsEcF9B_6bxrhUY&export=download"
+ FILENAME "darknet-cache/yolov3-tiny-prn.weights"
+ SHA512 0be26786103866868751bb8c5cc0b5147b3e8528d0cf5b387f5aefc72807fd7f1bf8049d5b0a47e9b4445d34e773ea8e3abc95330edb2a3ecd6103e158df2677
+ )
vcpkg_download_distfile(YOLOV3_WEIGHTS
URLS "https://pjreddie.com/media/files/yolov3.weights"
FILENAME "darknet-cache/yolov3.weights"
SHA512 293c70e404ff0250d7c04ca1e5e053fc21a78547e69b5b329d34f25981613e59b982d93fff2c352915ef7531d6c3b02a9b0b38346d05c51d6636878d8883f2c1
)
+ vcpkg_download_distfile(YOLOV3-OPENIMAGES_WEIGHTS
+ URLS "https://pjreddie.com/media/files/yolov3-openimages.weights"
+ FILENAME "darknet-cache/yolov3-openimages.weights"
+ SHA512 616e90057946c9588d045cff6ec36b63254660af4377201dc02642e798d62f392e8f3cdb5b10a1c4bcbe5c056e690275dca35b68db7fd802783a0c6bbd959ba8
+ )
vcpkg_download_distfile(YOLOV2_WEIGHTS
URLS "https://pjreddie.com/media/files/yolov2.weights"
FILENAME "darknet-cache/yolov2.weights"
@@ -74,12 +96,22 @@ if("weights" IN_LIST FEATURES)
endif()
if("weights-train" IN_LIST FEATURES)
- vcpkg_download_distfile(IMAGENET_CONV_WEIGHTS_V3
+ vcpkg_download_distfile(YOLOV4-TINY-CONV-29
+ URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.conv.29"
+ FILENAME "darknet-cache/yolov4-tiny.conv.29"
+ SHA512 318e47f4bdf43b7f4eff8f3669bc9ba66cd7bd8ffb31df5bc1978682c85fec8e63a8349958022fd933cc676cbf5241953f2181bf4d1789f7cf9d371e012e3e49
+ )
+ vcpkg_download_distfile(YOLOV4-CONV-137
+ URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.conv.137"
+ FILENAME "darknet-cache/yolov4.conv.137"
+ SHA512 d146a61762bf6ef91deb6c627ede475f63b3975fbeeb1ff5e0949470b29be8fc28ee81280041937e7ded49679276fbabacdb92d02fa246cc622853633fd3d992
+ )
+ vcpkg_download_distfile(DARKNET53-CONV-74
URLS "https://pjreddie.com/media/files/darknet53.conv.74"
FILENAME "darknet-cache/darknet53.conv.74"
SHA512 8983e1c129e2d6e8e3da0cc0781ecb7a07813830ef5a87c24b53100df6a5f23db6c6e6a402aec78025a93fe060b75d1958f1b8f7439a04b54a3f19c81e2ae99b
)
- vcpkg_download_distfile(IMAGENET_CONV_WEIGHTS_V2
+ vcpkg_download_distfile(DARKNET19-448-CONV-23
URLS "https://pjreddie.com/media/files/darknet19_448.conv.23"
FILENAME "darknet-cache/darknet19_448.conv.23"
SHA512 8016f5b7ddc15c5d7dad231592f5351eea65f608ebdb204f545034dde904e11962f693080dfeb5a4510e7b71bdda151a9121ba0f8a243018d680f01b1efdbd31
@@ -133,6 +165,10 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
if("weights" IN_LIST FEATURES)
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov4-tiny.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov4.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3-tiny-prn.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3-openimages.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov2.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3-tiny.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
@@ -140,6 +176,8 @@ if("weights" IN_LIST FEATURES)
endif()
if("weights-train" IN_LIST FEATURES)
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov4-tiny.conv.29 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
+ file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov4.conv.137 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/darknet53.conv.74 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/darknet19_448.conv.23 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT})
endif()