Каким образом Caffe неявно изменяет форму BLOB-объекта, прежде чем выполнять полностью соединительный расчет?
Каким образом Caffe неявно изменяет форму BLOB-объекта, прежде чем полностью рассчитать соединение?
1 ответ
"InnerProduct"
слой (он же "полностью подключен") имеет axis:
параметр, который определяет, как caffe "выравнивает" каплю для внутреннего продукта.
Вы можете увидеть в inner_product_layer.cpp
:
// Dimensions starting from "axis" are "flattened" into a single // length K_ vector. For example, if bottom[0]'s shape is (N, C, H, W), // and axis == 1, N inner products with dimension CHW are performed.
Поскольку caffe хранит BLOB-объекты непрерывно в памяти, для "выравнивания" конечных размеров BLOB-объектов не требуется явного изменения формы.