Neural network 如何理解Caffe重塑参数和Keras中的重新实施?
我不知道如何解释重塑参数。这里表示0表示复制,-1表示推断。当-1不是最后一个参数时是否相同?有人能帮我理解吗Neural network 如何理解Caffe重塑参数和Keras中的重新实施?,neural-network,keras,caffe,reshape,layer,Neural Network,Keras,Caffe,Reshape,Layer,我不知道如何解释重塑参数。这里表示0表示复制,-1表示推断。当-1不是最后一个参数时是否相同?有人能帮我理解吗 layer { name: "Layer1" type: "Reshape" bottom: "Layer1" top: "Layer2" reshape_param { shape { dim: 0 dim: 2 dim: -1 dim: 0 } } 此外,如果我想在Keras中实现相同的层,我是否也使用Ke
layer {
name: "Layer1"
type: "Reshape"
bottom: "Layer1"
top: "Layer2"
reshape_param {
shape {
dim: 0
dim: 2
dim: -1
dim: 0
}
}
此外,如果我想在Keras中实现相同的层,我是否也使用Keras重塑层,如:
Layer2 = K.reshape(Layer1,(-1,input_dim))
这意味着,考虑到您有一个shape
(a、b、c、d、e)
的输入,您的输出将具有shape:
(a, 2, b * c * e / 2, d)
值a
和d
从上一层复制。值2是强制的,值-1
计算保持与输入相同的元素数所需的任何值
在Keras中,由于不更改第一个维度(批次大小),因此只需要一个常规的重塑层,该层将忽略批次大小:
Reshape((2,-1,youMustKnowThis))
在<代码>顺序代码>模型中,只需添加以下层:
sequentialModel.add(Reshape((2,-1,youMustKnowThis))
在功能API模型中,传递上一层的输出:
newShaped = Reshape((2,-1,youMustKnowThis))(outputOfPreviousLayer)
请参见关于“重塑”
层。