dockerを利用したyolov3のmake エラーについて
Dockerfileに
FROM nvidia/cuda:9.0-runtime-ubuntu16.04
RUN apt-get update
RUN apt-get -y install python3-pip
RUN pip3 install keras tensorflow-gpu
このように記載してコンテナを立てて
git clone https://github.com/pjreddie/darknet
cd darknet
vim #GPU=1に変更
make
すると
In file included from ./src/utils.h:5:0,
from ./src/gemm.c:2:
include/darknet.h:14:30: fatal error: cuda_runtime.h: No such file or directory
compilation terminated.
Makefile:85: recipe for target 'obj/gemm.o' failed
make: *** [obj/gemm.o] Error 1`
のようなエラーがでます。
おそらくdarknetのMakefile(下記)COMMON+= -DGPU -I/usr/local/cuda/include
部分で指定しているincludeフォルダがないからではないかと思っています。
ifeq ($(GPU), 1)
COMMON+= -DGPU -I/usr/local/cuda/include/
CFLAGS+= -DGPU
LDFLAGS+= -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand
endif
質問はdockerでyoloをGPU=1にしてmakeするにはどのようにMakefileを設定すればよいのでしょうか。またCOMMON+=、CFLAGS+=、LDFLAGS+=はそれぞれ何を設定しているのでしょうか。