2

我在使用 AWS SageMaker 在 jupyter-notebook 中进行 yolo 培训时遇到了麻烦。

我想用暗网模型开始训练,但效果不好。

我在下面尝试了这些代码,并且所有代码都运行良好。

! conda install cudatoolkit -y
! conda install cudnn -y
! conda install -c fragcolor cuda10.0 -y
! conda update --all -y

我试图训练模型...

! ./darknet detector train lamp.data yolov3-lamps.cfg darknet53.conv.74 -gpus 0,1,2,3,4,5,6,7

但是会发生这个错误。

./darknet: error while loading shared libraries: libcudart.so.10.0: cannot open shared object file: No such file or directory

我怎么解决这个问题?

4

2 回答 2

3

像这样尝试(LD_LIBRARY_PATH根据您的系统调整):
LD_LIBRARY_PATH=/usr/local/lib:/usr/local/cuda-10.1/targets/x86_64-linux/lib/ ./darknet detector train lamp.data yolov3-lamps.cfg darknet53.conv.74 -gpus 0,1,2,3,4,5,6,7

于 2019-11-01T10:44:27.783 回答
1

我在 AWS 上处理预装了所有深度学习服务的 g3 实例时遇到了同样的问题。该服务预装了很多 cuda 版本,所以我将环境变量设置为 cuda-10.1。检查 usr/local/cuda 文件夹时 - 默认情况下它被重定向到 cuda-10.0。我做了以下更改默认设置。

在 make 文件中进行以下更改(用于在 GPU 和 cuDNN 中工作):

GPU=1
CUDNN=1
CUDNN_HALF=1
OPENCV=0
AVX=0
OPENMP=1

检查是否为您的 GPU 配置正确设置了 ARCH。您可以前往此页面执行此操作。

如果您使用 GPU = 1:检查 make 文件中的第 110-129 行,并查看是否所有内容都指向您当前使用的兼容 cuda 版本。由于我使用的是cuda-10.1,因此我将其更改为 -

ifeq ($(GPU), 1)
COMMON+= -DGPU -I/usr/local/cuda-10.1/include/
CFLAGS+= -DGPU
ifeq ($(OS),Darwin) #MAC
LDFLAGS+= -L/usr/local/cuda-10.1/lib -lcuda -lcudart -lcublas -lcurand
else
LDFLAGS+= -L/usr/local/cuda-10.1/lib64 -lcuda -lcudart -lcublas -lcurand
endif
endif

ifeq ($(CUDNN), 1)
COMMON+= -DCUDNN
ifeq ($(OS),Darwin) #MAC
CFLAGS+= -DCUDNN -I/usr/local/cuda-10.1/include
LDFLAGS+= -L/usr/local/cuda-10.1/lib -lcudnn
else
CFLAGS+= -DCUDNN -I/usr/local/cudnn/include
LDFLAGS+= -L/usr/local/cudnn/lib64 -lcudnn
endif
endif

进行必要的更改后,make再次查看 Makefile 是否生效。这解决了我的问题并开始训练。

于 2020-10-07T17:04:12.203 回答