当前位置: 首页 > 知识库问答 >
问题:

Tensorflow tf。图层。conv3d输出形状

林劲
2023-03-14

我有一个关于tf的问题。图层。conv3d。如果我理解正确,它需要输入形状

(批次x深度x高度x宽度x通道)

其中通道应该只有一个;给定一个过滤器(深度x高度x宽度),它创建#个过滤器相同形状的不同过滤器以创建#个过滤器输出通道并将它们与输入卷积以获得形状的输出

(批次x out\u深度x out\u高度x out\u宽度x num\u过滤器)

首先,我现在是对的吗?问题是:在我看来,这一层不符合约束卷积层输入、输出、过滤和跨步形状的规律,这应该是:

(W-F 2P)/S 1

如本文所述。相反,输出深度宽度和高度始终与输入相同。发生了什么事?谢谢你的帮助!

共有1个答案

宗政海
2023-03-14
kinda true but if input shape, filter shape and strides:
[Batch, depth, height, width, channels]
[filter_depth,filter_height,filter_width,in_channels,out_channels]
[1,s1,s2,s3,1]

output shape
[Batch,int(depth/s1),int(height/s2),int(width/s3),out_channels]

tf。图层。conv3d是tf的特例。图层。卷积

了解填充算法:https://www.tensorflow.org/api_guides/python/nn#Convolution

为了理解卷积运算:https://www.tensorflow.org/api_docs/python/tf/nn/convolution

 类似资料:
  • 我正在开发一个程序,该程序用一个无方向的Conv2D层(跨距=1)替换跨距的Conv2D层(跨距=2),然后在激活层之后添加一个AveragePooling2D层(跨距=2)。换句话说,AveragePooling2D层将减少输出维度,而不是让Conv2D层减少输出维度。 我使用本文中描述的方法将Conv2D层替换为非结构化版本,并在激活后插入averagepoolig2d层。替换Conv2D层效

  • 我在Keras建立了一个卷积神经网络。 根据CS231讲座,卷积操作为每个过滤器创建一个特征映射(即激活映射),然后将其堆叠在一起。在我的例子中,卷积层有一个300维的输入。因此,我预计会进行以下计算: 每个过滤器的窗口大小为5。因此,每个滤波器产生300-5 1=296个卷积 但是,实际输出形状看起来不同: 偏移值的形状很有意义,因为每个过滤器都有一个偏移值。然而,我不了解重量的形状。显然,第一

  • 我不明白为什么通道维度不包含在Keras中con2D层的输出维度中。 我有以下型号 我的问题末尾给出了模型摘要。输入层获取宽度为128、高度为128的RGB图像。第一个conv2D层告诉我输出维度是(None、61、61、24)。我使用的内核大小是(8,8),跨步是(2,2),没有填充。值61=下限((128-8 2 x 0)/2 1)和24(内核/过滤器的数量)是有意义的。但为什么维度中不包括不

  • 原文地址:https://cesiumjs.org/tutorials/Terrain-Tutorial/ Cesium支持渐进流式加载和渲染全球高精度地形,并且包含海、湖、河等水面效果。相对2D地图,山峰、山谷等其他地形特征的更适宜在这种3D地球中展示。 地形数据集是巨大的,通常都是GB或者TB级别。在普通3D引擎中,使用底层图形API去高效实现地形数据的可视化需要做很多事情。幸好,Cesium

  • 我在keras建立了一个ConvNet,这是其中的两层 第一层大小的输出,我完全理解,因为有8个大小为3x3的过滤器,每个过滤器都被应用于生成单独的特征图,因此 第二层的输出大小为24x24x16,我不理解。由于第二层的每个过滤器将作用于第一层输出的每个特征映射,因此输出的大小不应该是24x24x128吗? 基本上,我不明白一层的输出是如何馈送到另一层的输入的

  • 图层 图层 最常用于 摄像机 只渲染场景的一部分,和 光线 只照亮场景的一部分。此外,射线投射也可以用它们选择性地忽略碰撞器或创建 碰撞。 创建图层 第一步是创建一个图层,稍后可以将其分配给一个 游戏对象 GameObject。要创建图层,请打开菜单并选择 Project Settings->Tags and Layers。 我们在空着的 User Layers 中新建一个图层。选择第 8 图层