【waifu2x-caffe】きれいに画像拡大。cuDNNを使用して、処理速度を倍速にする方法

今回はwaifu2x-caffecuDNNを使用して処理速度を高速化させる方法をご紹介します。

waifu2x-caffeについて

詳しい内容やダウンロードについては、前回の記事を参考にしてください。

各処理モード

waifu2x-caffeでは、CPU、GPGPU(cuad)、GPGPU(cuDNN)の三種類のモードで処理ができます。

処理速度は、CPU<cuad<cuDNNとなっています(右に行くほど早い)

cuDNNの導入手順

cudnn64_7.dllが導入されていない場合、waifu2x-caffe画面cuDNNチェックをクリックしてみると、上のような画面が出てくるかと思います。

スポンサーリンク

NVIDIAの公式サイトからcudnn64_7.dllというファイルを入手して、waifu2x-caffe.exeのあるフォルダに入れてやる必要があります。

また、waifu2x-caffecudnn64_7.dllを同封して配信しない理由は、NVIDIAのライセンスの関係でできないそうです。

そのため、cudnn64_7.dllを入手するには、少々手間がかかります。

cudnn64_7.dll導入の手順

※これらの手順が古いものである場合、手順が異なる場合がありますので、その点についてはご了承ください。

  1. まずはこちらのページにアクセスして、右上にあるJoinからアカウント登録を済ませます。
  2. アカウント登録画面への入力が終わると、確認メールが送信されるので、受け取ったメール内容に記載されているリンクをクリックしてアカウントを認証させます。
  3. 登録完了後、「NVIDIA Deep Learning SDK Update for Volta Now Available」みたいなメールが届くので、cuDNN 7の項目欄にあるLEARN MOREをクリックして、リンク先を開きます。
  4. What’s New in cuDNN 7?の下にあるDownloadをクリックします。
  5.  I Agree To the Terms of the cuDNN Software License Agreementをクリックし、規約内容に同意します。
  6. 5.1バージョン以降のものをダウンロードします。できれば最新のものがよいかと思います。
  7. cuDNN v〇.〇 Library for Windows 10をクリックし、Zipファイルをダウンロードします。(ファイルサイズは200MB近くありますので、ご注意ください。)
  8. ダウンロードしたファイルの中を開き、cuda→binの順でフォルダを開きます。
  9. フォルダの中にはcudnn64_7.dllがあるはずなので、waifu2x-caffe.exeのある場所にcudnn64_7.dllを解凍します。

最後に、waifu2x-caffe画面cuDNNチェックをクリックして、cudnn64_7.dllをしっかり認証しているかを確認します。

スポンサーリンク

上のような画面が出てきたら成功です。

各処理モードの処理速度を比較してみた

CPU、CUDA、cuDNNでの処理をそれぞれ比較してみました。

※平均は大体の値です。

検証で使用した画像

waifu2x-caffeの設定

  • 入力と出力の拡張子:PNG
  • 出力深度ビット数:8
  • 変換モード:ノイズ撤去と拡大
  • ノイズ撤去レベル:レベル0
  • 拡大サイズ:拡大率で指定 2.00
  • モデル2次元イラスト(RGBモデル)
  • 分割サイズ:100

検証で使用したPC環境

 

スポンサーリンク
  • OS:Windows10(64bit)
  • CPU:Intel i7-7700k 4.20Ghz
  • メモリ:16GB(ddr4-2400)
  • GPU:STRIX-GTX1060-DC2O6G

CPUの処理結果

1回目:00:01:38.604
2回目:00:01:39.017
3回目:00:01:39.229
4回目:00:01:43.807

平均:1分40.1秒

CUDAの処理結果

1回目:00:00:05.752
2回目:00:00:05.704
3回目:00:00:05.642
4回目:00:00:05.672

平均:5.7秒

cuDNNの処理結果

1回目:00:00:03.372
2回目:00:00:02.898
3回目:00:00:02.922
4回目:00:00:02.906

平均:3秒

結果・・・

  • CPU・・・1分40.1秒
  • CUDA・・・5.7秒
  • cuDNN・・・3秒

となりました!

倍率は、CUDAはCPUの17.5倍cuDNNはCUDAの1.9倍という結果になりました。

同じGPUの処理でも、CUDAからcuDNNにするだけで2倍くらい早くなりましたね。

 

興味がある方は一度使ってみてはどうでしょうか?