Caffe::net 重塑

Caffe::net reshape

我正在尝试在 caffe 中实现 deepdream in C++(我想在 android 中实现 运行)。 googlenet 需要输入形状 224*224*3。在 deepdream 的 ipython 笔记本中显示 src.reshape(1,3,h,w)。这是否意味着只有输入 blob 被重塑或通过网络传播?我尝试在 C++ 中调用 net.Reshape() 结果是:

F0307 01:27:24.529654 31857 inner_product_layer.cpp:64] Check failed: K_ == new_K 
(1024 vs. 319488) Input size incompatible with inner product parameters.

网络是不是也该重塑一下?如果不是,重塑输入 blob 的含义是什么?我是深度学习的新手。如果看起来微不足道,请原谅我。

更改输入的形状需要重塑整个网络。 las,有些图层类型不喜欢重塑。具体来说,"InnerProduct"层:内积层的可训练参数数量取决于exact输入形状和输出形状。因此,具有 "InnerProduct" 层的网络无法重塑。

您可以使用 "net surgery" 示例中描述的方法将内积层转换为等效的卷积层(可以重塑)。