2016-11-04 71 views
3

我有一個預訓練的快速咖啡模型。我可以使用net.params[pr][0].data獲得模型的權重。截至目前,權重是numpy float32類型。我想把它減少到16,以減小模型的大小。Caffe - 如何使用pycaffe更改caffe權重的dtype?

+0

你成功了嗎? – kzs

+0

當我在2016年11月嘗試Caffe時,它不被支持,不知道他們現在是否支持。我最終在C中完成。但是tensorflow在訓練後支持浮點精度轉換。 – Avis

回答

1

要更改權重的類型,以節省內存的存儲空間,可以使用與NumPy的astype(float16),例如

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

然而來自Caffe不會在推理支持/培訓時間所以你需要重新將它轉換爲float32。 但是有些caffe軟件庫支持float16,例如RistrettoNVCaffe,適用於英特爾GPU上的OpenCL的NVidia/Intel的clCaffe