当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.raw_ops.Conv2D用法及代码示例


计算给定 4-D inputfilter 张量的 2-D 卷积。

用法

tf.raw_ops.Conv2D(
    input, filter, strides, padding, use_cudnn_on_gpu=True, explicit_paddings=[],
    data_format='NHWC', dilations=[1, 1, 1, 1], name=None
)

参数

  • input 一个Tensor。必须是以下类型之一:half , bfloat16 , float32 , float64 , int32。一个 4-D 张量。维度顺序根据 data_format 的值进行解释,详见下文。
  • filter 一个Tensor。必须与 input 具有相同的类型。形状为 [filter_height, filter_width, in_channels, out_channels] 的 4-D 张量
  • strides ints 的列表。长度为 4 的一维张量。input 的每个维度的滑动窗口的步幅。维度顺序由 data_format 的值决定,详见下文。
  • padding string 来自:"SAME", "VALID", "EXPLICIT"。要使用的填充算法的类型。
  • use_cudnn_on_gpu 可选的 bool 。默认为 True
  • explicit_paddings ints 的可选列表。默认为 [] 。如果 padding"EXPLICIT" ,则为显式填充量列表。对于第 i 个维度,在维度之前和之后插入的填充量分别为 explicit_paddings[2 * i]explicit_paddings[2 * i + 1] 。如果 padding 不是 "EXPLICIT" , explicit_paddings 必须为空。
  • data_format 一个可选的 string 来自: "NHWC", "NCHW" 。默认为 "NHWC" 。指定输入和输出数据的数据格式。使用默认格式"NHWC",数据存储顺序为:[batch, height, width, channels]。或者,格式可以是"NCHW",数据存储顺序为:[batch, channels, height, width]。
  • dilations ints 的可选列表。默认为 [1, 1, 1, 1] 。长度为 4 的一维张量。input 的每个维度的膨胀因子。如果设置为 k > 1,则在该维度上的每个过滤器元素之间将有 k-1 个跳过的单元格。维度顺序由 data_format 的值决定,详见上文。批量和深度维度中的膨胀必须为 1。
  • name 操作的名称(可选)。

返回

  • 一个Tensor。具有与 input 相同的类型。

给定一个形状为 [batch, in_height, in_width, in_channels] 的输入张量和一个形状为 [filter_height, filter_width, in_channels, out_channels] 的滤波器/内核张量,此操作执行以下操作:

  1. 将过滤器展平为具有形状的二维矩阵[filter_height * filter_width * in_channels, output_channels].
  2. 从输入张量中提取图像块以形成形状的虚拟张量[batch, out_height, out_width, filter_height * filter_width * in_channels].
  3. 对于每个补丁,right-multiplies 过滤器矩阵和图像补丁向量。

详细地说,使用默认的 NHWC 格式,

output[b, i, j, k] =
    sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] *
                    filter[di, dj, q, k]

必须有 strides[0] = strides[3] = 1 。对于相同水平和顶点步幅的最常见情况,strides = [1, stride, stride, 1]

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.raw_ops.Conv2D。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。