2016-11-04 5 views
3

私は、事前に訓練されたより高速のrcnnカフェモデルを持っています。私はnet.params[pr][0].dataを使ってモデルの重みを得ることができます。今のところ、ウェイトはnumpyのfloat32型です。モデルのサイズを小さくするために、浮動小数点数を16に減らしたいと考えています。カフェが推論/トレーニング時間でそれをサポートしていません。しかし、ストレージ用メモリを節約するために、重みの種類を変更するにはCaffe - pycaffeを使用してカフェウェイトのdtypeを変更するにはどうすればよいですか?

+0

あなたは成功しましたか? – kzs

+0

Caffeでは2016年11月に試したときにサポートされていませんでした。現在サポートしているかどうかはわかりません。私はCでそれをやり終えました。しかし、テンソルフローはトレーニング後の浮動小数点精度変換をサポートしています。 – Avis

答えて

1

、あなたは一例

net.params[pr][0].data = net.params[pr][0].data.astype(numpy.float16) 

ため、numpyののastype(float16)を使用することができますfloat32に再変換する必要があります。 インテルGPU上のOpenCLのNVIDIA/Intelのでは、Ristretto、またはNVCaffeなど、float16をサポートするいくつかのcaffeリポジトリがあります。

関連する問題