Ejemplo n.º 1
0
 def _weights_parameter(output_channels, init, group_name):
     dilation_kernel = [(k - 1) * d + 1 for k, d in zip(kernel, dilation)]
     # expand kernel to simulate dilation
     used_init = init.copy()
     if dilation_kernel != kernel:
         for axis in range(len(dilation)):
             kernel_sequence = [x * dilation[axis] for x in range(kernel[axis])]
             insert_lines = list(set([x for x in range(dilation_kernel[axis])]) ^
                                 set(kernel_sequence))
             for index in range(len(insert_lines)):
                 insert_lines[index] -= index
             used_init = np.insert(used_init, insert_lines, 0, axis=len(init.shape) - axis - 1)
     return ops.parameter(shape=(output_channels, cntk.InferredDimension) + ops.sanitize_shape(dilation_kernel),
                          init=used_init, name=group_name)
Ejemplo n.º 2
0
 def _weights_parameter(output_channels, init, group_name):
     dilation_kernel = [(k - 1) * d + 1
                        for k, d in zip(kernel, dilation)]
     # expand kernel to simulate dilation
     used_init = init.copy()
     if dilation_kernel != kernel:
         for axis in range(len(dilation)):
             kernel_sequence = [
                 x * dilation[axis] for x in range(kernel[axis])
             ]
             insert_lines = list(
                 set([x for x in range(dilation_kernel[axis])])
                 ^ set(kernel_sequence))
             for index in range(len(insert_lines)):
                 insert_lines[index] -= index
             used_init = np.insert(used_init,
                                   insert_lines,
                                   0,
                                   axis=len(init.shape) - axis - 1)
     return ops.parameter(
         shape=(output_channels, cntk.InferredDimension) +
         ops.sanitize_shape(dilation_kernel),
         init=used_init,
         name=group_name)
Ejemplo n.º 3
0
 def _conv_ops(weights, data):
     return ops.convolution(weights, data, strides=(cntk.InferredDimension, ) + \
                            ops.sanitize_shape(stride), auto_padding=[False, pad, pad])
Ejemplo n.º 4
0
 def _conv_ops(weights, data):
     return ops.convolution(weights, data, strides=(cntk.InferredDimension, ) + \
                            ops.sanitize_shape(stride), auto_padding=[False, pad, pad])