質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

2回答

11915閲覧

YOLOv3の学習エラーCUDA Error: out of memory が解決できない

takahiro_tt

総合スコア9

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

YOLO

YOLOとは、画像検出および認識用ニューラルネットワークです。CベースのDarknetというフレームワークを用いて、画像や動画からオブジェクトを検出。リアルタイムでそれが何になるのかを認識し、分類することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2020/01/22 04:07

前提・実現したいこと

https://noitalog.tokyo/darknet/
上記のサイトを参考にして、独自のデータを学習させたいと思ってます。
クラス数は2、学習に使う画像は約800枚

発生している問題・エラーメッセージ

77 conv 512 1 x 1/ 1 1 x 1 x1024 -> 1 x 1 x 512 0.001 BF 78 conv 1024 3 x 3/ 1 1 x 1 x 512 -> 1 x 1 x1024 0.009 BF 79 conv 512 1 x 1/ 1 1 x 1 x1024 -> 1 x 1 x 512 0.001 BF 80 Try to set subdivisions=64 in your cfg-file. CUDA status Error: file: ....\src\dark_cuda.c : cuda_make_array() : line: 361 : build time: Jan 20 2020 - 13:42:41 CUDA Error: out of memory

該当のソースコード

一応dark_cuda.cの360行あたりをを乗っけておきます
エラーの部分

351line

1 CHECK_CUDA(status);

C

1float *cuda_make_array(float *x, size_t n) 2{ 3 float *x_gpu; 4 size_t size = sizeof(float)*n; 5 cudaError_t status = cudaMalloc((void **)&x_gpu, size); 6 //cudaError_t status = cudaMallocManaged((void **)&x_gpu, size, cudaMemAttachGlobal); 7 //status = cudaMemAdvise(x_gpu, size, cudaMemAdviseSetPreferredLocation, cudaCpuDeviceId); 8 if (status != cudaSuccess) fprintf(stderr, " Try to set subdivisions=64 in your cfg-file. \n"); 9 CHECK_CUDA(status); 10 if(x){ 11 //status = cudaMemcpy(x_gpu, x, size, cudaMemcpyHostToDevice); 12 status = cudaMemcpyAsync(x_gpu, x, size, cudaMemcpyDefault, get_cuda_stream()); 13 CHECK_CUDA(status); 14 } 15 if(!x_gpu) error("Cuda malloc failed\n"); 16 return x_gpu; 17} 18

試したこと

色々調べて
voc.cfgの値を変更したりしましたが。それでも解決しませんでした。
具体的にはsubdivisions の値は大きいとGPUのメモリを占領しなくなるとかで初期の16から、32,64に変更してみたり。
batchサイズも64から16だったり2にまで減らしてみたり

nvidia-smiの実行↓

Wed Jan 22 13:03:33 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 441.66 Driver Version: 441.66 CUDA Version: 10.2 | |-------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 645 WDDM | 00000000:01:00.0 N/A | N/A | | 30% 33C P8 N/A / N/A | 406MiB / 1024MiB | N/A Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 Not Supported | +-----------------------------------------------------------------------------+

補足情報(FW/ツールのバージョンなど)

windows 10
darknet
yolov3
言語 c
opencv 3.4.0(だったはず)
cuda 10.2
gpu geforce gtx645

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

.cfgファイルの学習時の画像の大きさを小さくするのはどうでしょうか?
ここをいじるとずいぶんと負荷が変わります。
width, heightはともに32の倍数にすること
8,9行目をこのように:

width=320 height=320

を任意の数字(負荷を軽減するために小さめ&32の倍数)に変えてみてください

投稿2020/04/24 00:27

temps1101

総合スコア134

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

GeForce GTX 645 1024MiB

この GPU では最近の CNN モデルを動かすには、速度、メモリ量ともに性能不足です。
バッチサイズを小さくすればどうにかなるレベルではないので、RTX 2070 8G あたりの GPU に買い替えましょう。

投稿2020/01/22 04:23

編集2020/01/22 04:23
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問