1

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

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 意味着什么?我是深度学习的新手。如果这看起来微不足道,请原谅我。

4

1 回答 1

1

改变输入的形状需要重塑整个网络。唉,有些图层类型不喜欢被重塑。具体来说,“内积”层:内积层的可训练参数数量取决于确切的输入形状和输出形状。因此,具有“InnerProduct”层的网络不能被重塑。

您可以使用“网络手术”示例中描述的方法将内积层转换为等效的卷积层(可以重塑)。

于 2017-03-06T21:16:22.893 回答