lltcggie / waifu2x-caffe

waifu2xのCaffe版
MIT License
8.04k stars 839 forks source link

特定の環境でCUnetモデルを使用するとクラッシュする #133

Closed f11894 closed 5 years ago

f11894 commented 5 years ago

CUnetモデルをCPUで使用するとGUI、CUI問わずクラッシュしてしまいます 分割サイズやバッチサイズを変えても変化はありませんでした UpResNet10モデルは使えます

waifu2x-caffe ver 1.2.0 Windows 10 64bit Version 10.0.17763.134 CPU Ryzen 2400G 外部GPU無し RAM 8GB

追記ですが分割サイズは64や128などの4の倍数にしてもクラッシュしました

Hansukie commented 5 years ago

The same thing happens to me.

I tried both GPU and CPU and it crashes while using the new CUnet model.

waifu2x-caffe ver 1.2.0 Windows 10 64-bit Version 10.0.17763.134 CPU: i5 4670K GPU: GTX 970 RAM: 16GB

2ji3150 commented 5 years ago

変ですね。こちらはCPU、GPUどちらもちゃんと動くのを確認しました。

waifu2x-caffe ver 1.2.0 Windows 10 64-bit Version 10.0.17763.134 CPU: i7-8700k@4.7Ghz GPU: GTX 1060 6G RAM:16GB

nagadomi commented 5 years ago

ここにPoolingの条件がないので、cuDNNがある環境でCPUが使えないのだと思います。 https://github.com/lltcggie/waifu2x-caffe/blob/e5c310f851e3fdbd3a95431da468e326df22ca38/common/cNet.cpp#L394-L426

         } else if (type == "Pooling")
         {
             if (process == "cudnn")
                 layer_param->mutable_pooling_param()->set_engine(caffe::PoolingParameter_Engine_CUDNN);
             else
                 layer_param->mutable_pooling_param()->set_engine(caffe::PoolingParameter_Engine_CAFFE);
         }

UpResNet10はprototxtのpooling_paramにengine: CAFFEが入っているのでcuDNNを使おうとせず問題が出ていないのだと思います。

f11894 commented 5 years ago

まさにそのとおりのようでした。 prototxtに「engine: CAFFE」を追記したところ正常に変換出来ました。