• ## tf.layers.dense用法

千次阅读 2018-12-28 19:56:27
官方文档： https://www.tensorflow.org/api_docs/python/tf/layers/dense import tensorflow as tf ...logits = tf.layers.dense(input,10) print(logits.get_shape()) input = tf.ones([1,7,20]...
先看例3吧
文章目录例1例2例3常用参数
官方文档：
https://www.tensorflow.org/api_docs/python/tf/layers/dense
例1
import tensorflow as tf

input = tf.ones([5, 1])  # [5,1]的矩阵，5组数据，每组数据为1个。tf.layers.dense会根据这个shape，自动调整输入层单元数。
output = tf.layers.dense(input, 10)
print(output.get_shape())  # (5, 10)

input = tf.ones([3, 2])
output = tf.layers.dense(input, 10)
print(output.get_shape())  # (3, 10)

input = tf.ones([1, 7, 20])
output = tf.layers.dense(input, 10)
print(output.get_shape())  # (1, 7, 10)

input = tf.ones([1, 7, 11, 20])
output = tf.layers.dense(input, 10)
print(output.get_shape())  # (1, 7, 11, 10)

参考文献：
https://blog.csdn.net/yangfengling1023/article/details/81774580

(5, 10)
(3, 10)
(1, 7, 10)
(1, 7, 11, 10)

例2
伪代码
def add_layer(inputs, in_size, out_size, activation_function=None):
Weights = tf.Variable(tf.random_normal([in_size, out_size]))
biases = tf.Variable(tf.zeros([1, out_size]) + 0.1)
Wx_plus_b = tf.matmul(inputs, Weights) + biases
if activation_function is None:
outputs = Wx_plus_b
else:
outputs = activation_function(Wx_plus_b)
return outputs

# 二者等价
l1 = add_layer(xs, 1, 10, activation_function=tf.nn.relu)
l1=tf.layers.dense(xs,10,activation=tf.nn.relu)
# 二者等价
prediction = add_layer(l1, 10, 1, activation_function=None)
prediction=tf.layers.dense(l1,1,activation=None)

例3
一图胜千言

常用参数
tf.layers.dense(
inputs,
units,  整数或长整数，输出空间的维数
activation=None,
use_bias=True,
kernel_initializer=None,
bias_initializer=tf.zeros_initializer(),
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
trainable=True,
name=None,
reuse=None
)
返回值：一个Tensor，shape与input相同（不含最后一位），最后一位是unit参数（tf.layers.dense的第二个位置参数）的值。


展开全文
• 在不使用dense的时候可以使用下面的方法生成全连接 attention_w = tf.Variable(tf.truncated_normal([hidden_size, attention_size], stddev=0.1), name='attention_w') attention_b = tf.Variable(tf.constant...
学习链接

在不使用dense的时候可以使用下面的方法生成全连接

 attention_w = tf.Variable(tf.truncated_normal([hidden_size, attention_size], stddev=0.1), name='attention_w')
attention_b = tf.Variable(tf.constant(0.1, shape=[attention_size]), name='attention_b')
attention_u = tf.Variable(tf.truncated_normal([attention_size], stddev=0.1), name='attention_u')

这需要设置好shape，容易出现问题，代码多


展开全文
• 1.tf.layers.dense用法 dense：相当于一个全连接层 函数解释如下： tf.layers.dense( inputs, units, activation=None, use_bias=True, kernel_initializer=None, bias_initializer=tf.zeros_initializer(),...
1.tf.layers.dense的用法
dense：相当于一个全连接层
函数解释如下：
tf.layers.dense(
inputs,
units,
activation=None,
use_bias=True,
kernel_initializer=None,
bias_initializer=tf.zeros_initializer(),
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
trainable=True,
name=None,
reuse=None
)

● inputs:输入。
● units: 输出的大小（维数）.
● activation: 使用什么激活函数（神经网络的非线性层），
● use_bias: 使用bias为True（默认使用）,不用bias改成False即可。
● kernel_initializer:权重矩阵的初始化函数。 如果为None（默认值），则使用tf.get_variable使用的默认初始化程序初始化权重。
● bias_initializer:bias的初始化函数。
● kernel_regularizer：权重矩阵的正则函数。
● bias_regularizer：bias的的正则函数。
● activity_regularizer:输出的的正则函数。
● kernel_constraint:可选，默认为 None，施加在权重上的约束项
● name:名字
● reuse:Boolean，是否以同一名称重用前一层的权重。
全连接层：
dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu)

dense2= tf.layers.dense(inputs=dense1, units=512, activation=tf.nn.relu)

logits= tf.layers.dense(inputs=dense2, units=10, activation=None)

参数含义
一般只用到前三个参数：
● inputs就是该层的输入；
● units为神经元数目，即经过该层后的输出维度，也就是会将inputs的最后一个维度变成units；
● activation选择你所用的激活函数。


展开全文
• ## tf.layers.dense()的用法

万次阅读 多人点赞 2018-08-17 11:21:39
dense ：全连接层 相当于添加一个层 函数如下：   tf.layers.dense(  inputs,  units,  activation=None,  use_bias=True,  kernel_initializer=None, ##卷积核的初始化器  bias_initializer=tf....
dense ：全连接层  相当于添加一个层

函数如下：

tf.layers.dense(

inputs,

units,

activation=None,

use_bias=True,

kernel_initializer=None,  ##卷积核的初始化器

bias_initializer=tf.zeros_initializer(),  ##偏置项的初始化器，默认初始化为0

kernel_regularizer=None,    ##卷积核的正则化，可选

bias_regularizer=None,    ##偏置项的正则化，可选

activity_regularizer=None,   ##输出的正则化函数

kernel_constraint=None,

bias_constraint=None,

trainable=True,

name=None,  ##层的名字

reuse=None  ##是否重复使用参数

)

部分参数解释：

inputs：输入该网络层的数据

units：输出的维度大小，改变inputs的最后一维

activation：激活函数，即神经网络的非线性变化

use_bias：使用bias为True（默认使用），不用bias改成False即可，是否使用偏置项

trainable=True:表明该层的参数是否参与训练。如果为真则变量加入到图集合中

GraphKeys.TRAINABLE_VARIABLES (see tf.Variable)

在其他网站上看到的使用现象

dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu，

kernel_regularizer=tf.contrib.layers.l2_regularizer(0.003))

#全连接层

dense1 = tf.layers.dense(inputs=pool3, units=1024, activation=tf.nn.relu)

dense2= tf.layers.dense(inputs=dense1, units=512, activation=tf.nn.relu)

logits= tf.layers.dense(inputs=dense2, units=10, activation=None)

示例：

输出的结果如下所示：

可以看到输出结果的最后一维度就等于神经元的个数，即units的数值（神经元的个数）

在网络中使用全连接层的作用是什么呢？这一点还是不太清楚，希望知道的可以帮忙解释一下，互相交流一下

全连接层：通常在CNN的尾部进行重新拟合，减少特征信息的损失

展开全文
• ×Initialize.h：涉及各种数据结构的初始化，usage()可以看看，毕竟readme里面讲的用法没那么细。 ×OpticalFlow.h: 主要用了Farneback计算光流，把金字塔的方法也写进去了，金字塔方法主要是为了消除不同尺寸的...
• ## 【TensorFlow】tf.sparse_to_dense的用法

万次阅读 多人点赞 2016-11-27 20:37:32
TensorFlow是一个很坑的东西，在没有session运行的时候，所有...在这里记录一下比较难理解的几个方法的用法，以便后面用到 tf.sparse_to_dense(sparse_indices, output_shape, sparse_values, default_value, name=N
• ## Keras中dense层原理及用法解释

千次阅读 多人点赞 2021-01-20 23:11:05
全连接层Fully Connection作用二.API解释2.1 示例1：dense层为输入层2.2 示例2：dense层为中间层2.3 示例3：dense层为输出层三.实现过程四.数学解释 一.全连接层Fully Connection作用 全连接的核心操作就是矩阵向量...
• Sparsetensor(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4]) dense tensor: [[1, 0, 0, 0] [0, 0, 2, 0] [0, 0, 0, 0]] tensorflow 使用三个dense tensor来表达一个sparse tensor：indices、...
• tf.keras.layers.Dense相当于在全连接层中添加一个层 Dense实现以下操作：output = activation（dot（input，kernel）+ bias） 其中，activation是用activation参数传递的逐元素激活函数，...用法： tf.keras.la...
• 主要以一个实例讲解了sql server排名函数DENSE_RANK的用法，感兴趣的小伙伴们可以参考一下
• tf.layers.Dense函数 Dense类 继承自： Layer 定义在：tensorflow/python/layers/core.py。 密集连接（Densely-connected）层类。 该层实现了操作：outputs = activation(inputs * kernel + bias)，其中activation是...
• 来源：https://tensorflow.google.cn/api_docs/python/tf/layers/dense ...tf.layers.dense(  inputs,  units,  activation=None,  use_bias=True,  kernel_initializer=None,  bias_initializer=t...
• tf.layers.dense dense ：全连接层，相当于添加一个层 函数如下： tf.layers.dense(   inputs,   units,   activation=None,   use_bias=True,   kernel_initializer=None,       #卷积核的初始化器...
• tf.sparse_to_dense(sparse_indices, output_shape, sparse_values, default_value, name=None) 除去name参数用以指定该操作的name，与方法有关的一共四个参数： 第一个参数sparse_indices：稀疏矩阵中那些...
• Dense()全连接层 tf.keras.layers.Dense( inputs=64, units=10, activation=None, use_bias=True, kernel_initializer=None, bias_initializer=tf.zeros_initializer(), kernul_regularizer=None, activaty_...
• 分析函数ROW_NUMBER、RANK、DENSE_RANK的用法

...