2

私はcaffeでCNNをトレーニングしようとしています。私は多くのデータを増やしたかったので、hereのように、入力のために"Python"のレイヤーを使用しています。Caffe Python Layer for input、データ型をuint8に設定

はしかし、私はカフェで、すべての私のデータのためのデータ型float32を使用しているログから参照してください。私は8ビットの整数しか扱っていないので、これは本当に無駄です。カフェにdtype='uint8'を使用するよう伝える方法はありますか?

私はトップを設定しながらデータを型キャストすることを試みた:

top[0].data[...] = someArray.astype(np.uint8, copy=False) 

が、これは動作しません。

提案がありますか?

答えて

2

は私の知る限り、カフェは、現在だけのfloat32かのfloat64をサポートするようにコンパイルされます。 lmdb/leveldbデータはuint8形式で保存できますが、読んだ場合には、内部でfloat32に変換されます。あなたの入力データがuint8であること
事実は、全体の処理は、最初のコンボリューション/内積層で、データが浮動小数点数で乗算され、もはやuint8残ることを保証することはできない、この方法のままというわけではありません。
入力スペースに少しのスペースを入れて、uint8への変換を断念する必要があると思います。

+1

私はあなたが正しいと思っています。とにかく、入力レイヤーでしか節約できないでしょう、それは全然努力する価値がありません。 申し訳ありません私はupvoteすることはできません、私は十分な評判がありません。 :) – gunner

+0

@gunner心配する必要はありません、あなたは正しい道にいる – Shai

関連する問題