1. 程式人生 > 其它 >【darknet實驗】CUDA Error: out of memory darknet: ./src/cuda.c:36: check_error: Assertion `0‘ failed.

【darknet實驗】CUDA Error: out of memory darknet: ./src/cuda.c:36: check_error: Assertion `0‘ failed.

技術標籤:cudagpu

實驗測試darknet,遇到錯誤CUDA Error: out of memory darknet: ./src/cuda.c:36: check_error: Assertion `0' failed.


)

一、問題描述

實驗測試darknet,遇到錯誤CUDA Error: out of memory darknet: ./src/cuda.c:36: check_error: Assertion `0’ failed.
在這裡插入圖片描述

二、首先需要修改Makefile檔案

修改一

GPU = 1
CUDNN = 1
OPENCV = 0 # 根據自己需要修改opencv

修改二

 ARCH= -gencode arch=compute_61,code=sm_61 \
 #      -gencode arch=compute_35,code=sm_35 \
 #      -gencode arch=compute_50,code=[sm_50,compute_50] \
 #      -gencode arch=compute_52,code=[sm_52,compute_52]
 #      -gencode arch=compute_20,code=[sm_20,
sm_21] \ This one is deprecated? # 這裡需要修改成自己GPU對應的型號,我使用的是1060,兩個值都是61

三、方法一

進入cfg資料夾,開啟yolov3.cfg配置檔案,將Training的batch和subdivisions註釋掉,替換成Testing的batch和subdivisions

修改前

[net]
# Testing
# batch=1
# subdivisions=1
# Training
batch=64
subdivisions=16

修改後

[net]
# Testing
batch=1
subdivisions=1
# Training
# batch=
64 # subdivisions=16

測試命令

./darknet detect cfg/yolov3.cfg yolov3.weigths data/dog.jpg

四、方法二

如果上述方法還不行,就使用管理員許可權,在測試命令前加上 sudo

sudo ./darknet detect cfg/yolov3.cfg yolov3.weigths data/dog.jpg