LoginSignup
1
1

More than 5 years have passed since last update.

Ryzen Threadripper 2950X で機械学習 YOLO V3 KerasでVGG16

Posted at

買っちゃった

機械学習を高速にしたいのでRyzen Threadripper 2950X でPCを組みました。
買ったのは去年の12月。なんだかんだ実験してたらもう数カ月たってしまった。

もともとGPUをうまく使える環境ではなかったので、高性能なGPUを導入しても効果が無いことからPCを買いなおした。

結果

結果的に早くなった。GPU,CPUをしっかり使うようになった。これはすごい。
金を使った分リニアに伸びない世界だから、価格に見合う性能UPか?と言われると・・・

構成

元々あったのと合わせて以下のようになりました。
CPU:Ryzen Threadripper2 2950X
クーラー:KRAKEN X52
MB:X399 GAMING PRO CARBON AC
CASE:Trooper SE (SGC-5000-KWN2)
MEM:CMK16GX4M2Z2666C16 2個で32G
SSD:MZ-V7E500B/IT
電源:CORSAIR RM1000x
GPU:GTX1070Ti*3枚

GPUは3スロット占有が2枚、2スロット占有が1枚でも何とかささりました。
ケース大きい。

INTEL入ってないとダメなんじゃない?

ダメじゃなかった。
Tensorflow(CPU)も動いた
YOLO V3もCPUで動いた。

1coreあたりの性能が低いと遅い?

怖かったので 2950X にしました。i5-7500にくらべてだいぶ早いように感じます。

YOLO V3はどうよ

i5とくらべると差が無かった。チョビットはやいかな?くらい。
でもモデルの構築?読み込み、prediction時間は高速になった。

と・・・おもったら
AlexeyAB/darknet
のソースコードを変えると、CPU使用率があがって早くなった。
変更箇所は
darknet-master\src\detector.c

120行目あたりに

    args.threads = 3 * ngpus;   // Amazon EC2 Tesla V100: p3.2xlarge (8 logical cores) - p3.16xlarge
    //args.threads = 12 * ngpus;    // Ryzen 7 2700X (16 logical cores)

こんな記述があるので28にした。
30以上になると遅いかな?と思えるのでパラメータをかえながら設定する

ソース変更前はCPU使用率15%~30%だったのがCPU使用率70%~80%になった

教師データ作成作業

結局はここの作業が快適になるかどうか?だと思いました。
快適になった。

KerasでVGG16はどうよ

GPUがしっかりと使えるようになった。
Keras自体CPU依存度が高いように感じる

全体的に

性能のいいCPUがほしい病から解放されて精神的に楽になった。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1