提交 e669c45a authored 作者: Vikram's avatar Vikram

Meta optimizer 3d correction. Docstrings.

上级 4f84063c
...@@ -2133,8 +2133,9 @@ class ConvMetaOptimizer(LocalMetaOptimizer): ...@@ -2133,8 +2133,9 @@ class ConvMetaOptimizer(LocalMetaOptimizer):
node.op.border_mode, node.op.border_mode,
node.op.subsample, node.op.subsample,
node.op.filter_dilation) node.op.filter_dilation)
convdim = img.ndim - 2
result[kshape] = theano.tensor.as_tensor_variable(node.op.kshp[-2:]) result[kshape] = theano.tensor.as_tensor_variable(node.op.kshp[-convdim:])
for(var, shape) in zip((img, top), (node.op.imshp, tshp)): for(var, shape) in zip((img, top), (node.op.imshp, tshp)):
result[var] = theano.shared(np.random.random(shape).astype(var.dtype), result[var] = theano.shared(np.random.random(shape).astype(var.dtype),
......
...@@ -61,6 +61,8 @@ def get_conv_output_shape(image_shape, kernel_shape, ...@@ -61,6 +61,8 @@ def get_conv_output_shape(image_shape, kernel_shape,
possibly depth) axis. possibly depth) axis.
filter_dilation: tuple of int (symbolic or numeric). Its two or three filter_dilation: tuple of int (symbolic or numeric). Its two or three
elements correspond respectively to the dilation on height and width axis. elements correspond respectively to the dilation on height and width axis.
Note - The shape of the convolution output does not depend on the 'unshared'
or the 'num_groups' parameters.
Returns Returns
------- -------
...@@ -177,6 +179,8 @@ def get_conv_gradweights_shape(image_shape, top_shape, ...@@ -177,6 +179,8 @@ def get_conv_gradweights_shape(image_shape, top_shape,
width axis. width axis.
num_groups: An int which specifies the number of separate groups to num_groups: An int which specifies the number of separate groups to
be divided into. be divided into.
unshared: Boolean value. If true, unshared convolution will be performed,
where a different filter is applied to each area of the input.
Returns Returns
------- -------
...@@ -291,6 +295,8 @@ def get_conv_gradinputs_shape(kernel_shape, top_shape, ...@@ -291,6 +295,8 @@ def get_conv_gradinputs_shape(kernel_shape, top_shape,
width axis. width axis.
num_groups: An int which specifies the number of separate groups to num_groups: An int which specifies the number of separate groups to
be divided into. be divided into.
Note - The shape of the convolution output does not depend on the 'unshared'
parameter.
Returns Returns
------- -------
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论