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

tf如何。图层。dense()与较高dim的输入交互?

公西飞鸾
2023-03-14

在tensorflow层中。稠密(输入、单位、激活)实现具有任意激活功能的多层感知器层。

输出=激活(matmul(输入,权重)偏差)

通常输入的形状=[批处理大小,输入大小],可能如下所示:(单位=128,激活=tf.nn.relu是任意选择的)

inputx = tf.placeholder(float, shape=[batch_size, input_size])
dense_layer = tf.layers.dense(inputx, 128, tf.nn.relu)

如果我输入更高维度的输入,我没有找到任何关于会发生什么的文档,例如,因为可能有时间步数导致形状张量=[时间步数,批次大小,输入大小]。这里需要的是,该层应用于批次中每个元素的每个时间步的每个单个input\u向量。换言之,层的内部matmul。dense()应该简单地使用numpy风格的广播。我在这里所期望的行为是实际发生的吗?一、 e.is:

inputx = tf.placeholder(float, shape=[time_step, batch_size, input_size])
dense_layer = tf.layers.dense(inputx, 128, tf.nn.relu)

将致密层应用于batch\u size中每个元素的每个time\u步骤的每个size input\u size输入?这应该会产生一个张量(在上面的致密层中),其形状=[时间步长,批次大小,128],例如tf。matmul不支持numpy风格的广播,所以我不确定tensorflow如何处理这些情况。

编辑:这篇文章是相关的,但没有最终回答我的问题

共有1个答案

松秦斩
2023-03-14

您可以通过检查密集内核的形状来验证您的期望,如下所示。

>>> inputx = tf.placeholder(float, shape=[2,3,4])
>>> dense_layer = tf.layers.dense(inputx, 128, tf.nn.relu)
>>> g=tf.get_default_graph()
>>> g.get_collection('variables')
[<tf.Variable 'dense/kernel:0' shape=(4, 128) dtype=float32_ref>, <tf.Variable 'dense/bias:0' shape=(128,) dtype=float32_ref>]

致密层的行为与conv层相同。

您可以将inputx视为宽度=2、高度=3和通道=4的图像,将密集层视为具有128个过滤器和过滤器大小为1*1的conv层。

 类似资料:
  • 我有一个关于tf的问题。图层。conv3d。如果我理解正确,它需要输入形状 (批次x深度x高度x宽度x通道) 其中通道应该只有一个;给定一个过滤器(深度x高度x宽度),它创建#个过滤器相同形状的不同过滤器以创建#个过滤器输出通道并将它们与输入卷积以获得形状的输出 (批次x out\u深度x out\u高度x out\u宽度x num\u过滤器) 首先,我现在是对的吗?问题是:在我看来,这一层不符合

  • 我发现了一个可以使用以下代码复制的严重问题: *我知道为什么在第一个代码块中nextLine()调用得到一个空字符串

  • 对于任何Keras层(类),有人能解释一下如何理解、、等之间的区别吗? 例如,文档说指定层的输出形状。 在下面的神经网络图像中,有4个单元。这是否直接转换为对象的属性?或者Keras中的等于隐藏层中每个权重的形状乘以单位数?

  • 我有一个高图表图形http://jsfiddle.net/jerryvermanen/XRjyc/,但我想添加一个输入字段。输入字段要求一年。输入后: > 图形应在输入年份的基础上增加一年(因此1992年变为1993年) 图形应在输入年份1显示一条垂直绘图线(因此在1993年显示一条线) 它还应该在五年之后(1998年)和五年之后(2003年)添加一行,以此类推 还应计算这些年份(1993年、19

  • 在模型中添加LSTM层之前,我不确定是否需要添加密集输入层。例如,使用以下模型: LSTM层是否为输入层,密集层是否为输出层(即无隐藏层)?或者Keras是否创建了一个输入层,这意味着LSTM层将是一个隐藏层?

  • 我想使用现有的数组元素作为开关大小写,而不是为开关大小写提供常量字符串值 我在用于显示的资源字符串数组中有值,用户必须从这些显示值中选择,现在我想比较我在共享首选项中保存的输入值和我在数组资源中的值,我写了类似的东西,但它不起作用