Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tf.layers.dense和tf.nn.xw_plus_b之间的差异_Python_Python 3.x_Tensorflow - Fatal编程技术网

Python tf.layers.dense和tf.nn.xw_plus_b之间的差异

Python tf.layers.dense和tf.nn.xw_plus_b之间的差异,python,python-3.x,tensorflow,Python,Python 3.x,Tensorflow,tf.layers.density和tf.nn.xw_plus_b中的tf.nn.xw_plus_b之间有什么区别? 当“activation”参数作为None传递时,tf.layers.dense中使用的默认激活是什么 tf.nn.xw_plus_b是一种低级操作,只计算x*W+b,需要现有变量 tf.layers.dense是一个创建变量的高级“层”,应用激活可以设置约束并应用正则化 根据默认情况,激活是线性的(无激活) 激活:激活功能(可调用)。将其设置为“无”以进行维护 线性激活 更新

tf.layers.density
tf.nn.xw_plus_b
中的
tf.nn.xw_plus_b
之间有什么区别?
当“activation”参数作为
None
传递时,
tf.layers.dense
中使用的默认激活是什么

tf.nn.xw_plus_b
是一种低级操作,只计算
x*W+b
,需要现有变量

tf.layers.dense
是一个创建变量的高级“层”,应用激活可以设置约束并应用正则化

根据默认情况,激活是线性的(无激活)

激活:激活功能(可调用)。将其设置为“无”以进行维护 线性激活

更新

在Tensorflow 1.12
Dense
中,层继承了
keras.layers.Dense
():

@tf\u导出('layers.Dense'))
类密(keras_层密,基层):
此层的Keras实现执行以下操作():

def调用(自身,输入):
inputs=ops.convert_to_tensor(inputs,dtype=self.dtype)
秩=常用形状。秩(输入)
如果排名>2:
#输入需要广播。
输出=standard_ops.tensordot(输入,self.kernel,[[rank-1],[0]])
#将输出重塑为输入的原始ndim。
如果不是上下文。急切地执行_():
形状=输入。获取形状()。作为列表()
输出形状=形状[:-1]+[self.units]
输出。设置_形状(输出_形状)
其他:
输出=gen_math_ops.mat_mul(输入,self.kernel)
如果使用self.u偏差:
输出=nn.bias\u add(输出,自偏置)
如果self.activation不是None:
返回自激活(输出)#pylint:disable=不可调用
返回输出
因此,它不是使用
tf.nn.xw_plus_b
实现的,而是使用两个单独的操作


为了回答您的问题:
densite
没有激活的层,约束和正则化应该与
tf.nn.xw_plus_b

相同,我需要为我的问题替换一个更密集的层。没有激活的密集层,它会与xw_plus_b(功能方面)类似吗。用xw_plus_b替换稠密是否明智?我同意xw_plus_b需要外部变量,一旦将所有必要的变量传递给它,它的行为是否会类似于没有激活的稠密?