2017-06-01 8 views
0

CaffeでFCN-VGG16ネットワークをテストしています。入力画像のサイズを固定サイズに変更する代わりに、毎回ネットワークを画像サイズに変更します。私はmatcaffeとpycaffeの両方でこれを試しました。どちらの場合も、小さな画像(たとえば、500x500)で実行できるようです。しかし、大きなサイズの画像(1920 x 1080など)を使用すると、「Check failed:error == cudaSuccess(2対0)」というエラーが表示されます。私は12 GBのメモリを搭載したQuadro M6000 GPUでこれを実行しています。どんな助け/助言も高く評価されます。FCNを大きな画像サイズでテストする

答えて

1

私はそれがメッセージから分かりますが、の場合はに入力サイズを減らす必要があります.GPUには、それを供給するための十分なオンボードメモリがありません。バッチサイズを減らすことはできますか?そうでない場合、本当には2Mピクセル全体を必要としますか?ほとんどのモデルは、切り抜かれたイメージや縮小されたイメージではうまくいきます。これを(CPU上の)入力処理の一部として行い、任意のサイン入力に対してパラメータ化します。

ネットワークのサイズを変更すると、特にすべてのレイヤーをサイズ変更し、入力サイズでスケーリングすると、メモリが高価になります。あなたが与えた場合、これはあなたのメモリ要件を約8倍向上させます。

サイズの確認として、ネットワークの初期化時にメモリの数字を見てください。私はCaffeがメモリ要件をレイヤーで報告していると信じています。

+0

迅速な対応をありがとうございます。あなたの質問に答えるために、私は1のバッチサイズを使用しています。次のコマンドを使用してネットワークを再形成します:net.blobs ['data']。reshape(1、* im.shape)。私は実際に画像を一定の大きさにサイズ変更してから、テストを行ってみました。しかし、私は結果に満足していない、と私はそれがサイズ変更に関係しているのだろうかと思っています。私は広範囲の入力サイズを持っているので、固定サイズへのサイズ変更がパフォーマンスに影響を与えていることが懸念されます(たとえば、一部の画像ではアスペクト比が大幅に変更されています)。 – user6137678

+0

私は広範囲の入力サイズを持っているので、すべての画像を固定サイズにリサイズしないでください。代わりに、各画像のサイズを小さくすることができますが、縦横比は維持されます。しかし、この場合、入力画像はまだ可変サイズであるため、ネットワークを再形成する必要があります。 – user6137678

+0

右。フットプリントを「合理的な」範囲内に保ち、RAMサイズによって決まる「合理的」な範囲内で、ネットワークを再構成することができます。 – Prune

関連する問題