2016-07-26 12 views
1

私は問題のために完全な畳み込みネットを微調整しようとしています。私は次の警告を受けています。 なぜこの警告が表示されますか?危険な大規模なプロトコルメッセージを読むCaffe warning

 [libprotobuf WARNING google/protobuf/io/coded_stream.cc:505] Reading dangerously 
    large protocol message. If the message turns out to be larger than 2147483647 bytes, 
    parsing will be halted for security reasons. To increase the limit (or to disable 
    these warnings), see CodedInputStream::SetTotalBytesLimit() in google/protobuf/io/coded_stream.h. 
+0

あなたはそれについて心配する必要はないと思います。あなたのモデルprotoが '2147483647'バイトに近いかもしれないので、あなたは警告を受けています。 –

+0

ああ、私はいつもこれを取得...決してネットに影響を与えます。それが気になる場合は、コンパイルする前にソースコードを変更してください。何らかの理由で警告があることは確かですが! – user1269942

答えて

3

2147483647は、C++で整数データ型に格納できる最大値です。

Caffeは.prototxtファイルをバッファに読み込んだ後、バッファからパラメータを読み込みます。このバッファは、最大サイズが2147483647バイトになるように内部的に定義されています。したがって、.prototxtファイルが大きすぎる場合、このバッファに収まらない可能性があります。だからCaffeはこの警告を出して限界を上げる。

+0

警告の後で自動的にサイズが変更されますか? – user570593

+0

いいえ、あなたはそれをする必要があります。 google/protobuf/io/coded_stream.hのCodedInputStream :: SetTotalBytesLimit()を参照してください。 – malreddysid

関連する問題