Caffe - 如何使用pycaffe更改caffe权重的dtype?

3

我有一个预训练的 faster-rcnn caffemodel。我可以使用 net.params[pr][0].data 获取模型的权重。目前权重是 numpy float32 类型,我想将其减少到 float16 以减小模型的大小。


你成功了吗? - kzs
当我在2016年11月尝试时,Caffe不支持它,现在是否支持我不知道。最终我用C语言完成了它。然而,TensorFlow支持训练后的浮点精度转换。 - Avis
1个回答

1
为了节省存储空间,可以使用NumPy的astype(float16)来更改权重类型。
net.params[pr][0].data = net.params[pr][0].data.astype(numpy.float16)

然而,Caffe在推理/训练时不支持它,所以您需要将其重新转换为float32。但是有一些支持float16的caffe存储库,例如Ristretto,或NVCaffe用于NVidia / Intel的clCaffe用于Intel GPU上的OpenCL。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接