У меня есть предварительно подготовленная более быстрая rcnn caffemodel. Я могу получить вес модели, используя net.params[pr][0].data
. На данный момент веса имеют numpy float32 type. Я хотел бы уменьшить его до float 16, чтобы уменьшить размер модели.Caffe - Как изменить dtype веса caffe с помощью pycaffe?
3
A
ответ
1
Чтобы изменить тип весов в целях экономии памяти для хранения, вы можете использовать Numpy в astype (float16), например
net.params[pr][0].data = net.params[pr][0].data.astype(numpy.float16)
Однако Caffe не будет поддерживать его в умозаключения/время обучения поэтому вам нужно переконвертировать его в float32. Однако есть некоторые хранилища caffe, которые поддерживают float16, например Ristretto, или NVCaffe для NVIDIA/Intel clCaffe для OpenCL на графических процессорах Intel.
были ли вы успешными? – kzs
Он не поддерживался в Caffe, когда я пытался в ноябре 2016 года, не знаю, поддерживают ли они сейчас. Я закончил делать это на C. Однако tenorflow поддерживает преобразование точности float после тренировки. – Avis