目录

  • 1 作用
  • 2 例子
  • 3 与torch.nn.Linear的区别
  • 4 参考文献

1 作用

注意此处Tensorflow版本是2.0+。
由于本人是Pytorch用户,对Tensorflow不是很熟悉,在读到用tf写的代码时就很是麻烦。如图所示,遇到了如下代码:

h = Dense(units=adj_dim, activation=None)(dec_in)

  Dense层就是全连接层,对于层方式的初始化的时候,layers.Dense(units,activation)函数一般只需要指定输出节点数Units和激活函数类型即可。输入节点数将根据第一次运算时输入的shape确定,同时输入、输出节点自动创建并初始化权值w和偏置向量b。

下面是Dense的接口

Dense(units,activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)

units, 代表该层的输出维度
activation=None, 激活函数.但是默认 liner
use_bias=True, 是否使用b 直线 y=ax+b 中的 b

此处没有写 iuput 的情况, 通常会有两种写法:

1 : Dense(units,input_shape())2 : Dense(units)(x) #这里的 x 是以张量.

Dense(n)(x):=ReLU(Wx+b)Dense \ (n) \ (x):=ReLU(Wx+b)Dense (n) (x):=ReLU(Wx+b)
W 是权重函数, Dense() 会随机给 W 一个初始值。所以这里跟Pytorch的nn.linear()一样。

2 例子

# 使用第一种方法进行初始化
# 作为 Sequential 模型的第一层,需要指定输入维度。可以为 input_shape=(16,) 或者 input_dim=16,这两者是等价的。
model = Sequential()
model.add(Dense(32, input_shape=(16,)))
# 现在模型就会以尺寸为 (*, 16) 的数组作为输入,
# 其输出数组的尺寸为 (*, 32)# 在第一层之后,就不再需要指定输入的尺寸了:
model.add(Dense(32))

3 与torch.nn.Linear的区别

# Pytorch实现
trd = torch.nn.Linear(in_features = 3, out_features = 30)
y = trd(torch.ones(5, 3))
print(y.size())
# torch.Size([5, 30])# Tensorflow实现
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(30, input_shape=(5,), activation=None))
————————————————————————————————————
tfd = tf.keras.layers.Dense(30, input_shape=(3,), activation=None)
x = tfd(tf.ones(shape=(5, 3)))
print(x.shape)
# (5, 30)
上面Tensorflow的实现方式相同,但是我存在疑惑

4 参考文献

[1]dense层、激活函数、输出层设计
[2]Dense(units, activation=None,)初步
[3]深入理解 keras 中 Dense 层参数
[4]tensorflow - Tensorflow 的 tf.keras.layers.Dense 和 PyTorch 的 torch.nn.Linear 的区别?

【Tensorflow2.0】tensorflow中的Dense函数解析相关推荐

  1. tensorflow中的norm()函数 | axis=0,axis=1,axis=2

    tensorflow中的norm函数作用是用来求L1_norm范数和Eukl_norm范数. 本篇文章主要目的是讲解axis的含义,所以默认都是用L1_norm范数,方便理解. 首先,来看一下2维的情 ...

  2. 【Tensorflow】Tensorflow中的卷积函数(conv2d、slim.conv2d、depthwise_conv2d、conv2d_transpose)

    [fishing-pan:https://blog.csdn.net/u013921430 转载请注明出处] 前言   卷积是卷积神经网络中最主要.最重要的运算.想必大家最早接触卷积的概念就是在初高中 ...

  3. rectpuls函数 matlab,Matlab中的rectpuls函数解析

    Matlab中的rectpuls函数解析 Matlab中的rectpuls函数解析 1.先看Matlab中的解释: This MATLAB function returns a continuous, ...

  4. sklearn中的train_test_split()函数解析

    sklearn中的train_test_split()函数解析 train_test_split()函数:机器学习中用于分割数据集(训练集和测试集) X_train,X_test,y_train,y_ ...

  5. tensorflow中的正则化函数在_『TensorFlow』正则化添加方法整理

    一.基础正则化函数 tf.contrib.layers.l1_regularizer(scale, scope=None) 返回一个用来执行L1正则化的函数,函数的签名是func(weights). ...

  6. Pytorch中torch.argmax()函数解析

    一. torch.argmax()函数解析 1. 官网链接 torch.argmax(),如下图所示: 2. torch.argmax(input)函数解析 torch.argmax(input) → ...

  7. C++STL中的unique函数解析

    一.总述 unique函数属于STL中比较常用函数,它的功能是元素去重.即"删除"序列中所有相邻的重复元素(只保留一个).此处的删除,并不是真的删除,而是指重复元素的位置被不重复的 ...

  8. c分布 的程序设计语言,#2020学习打卡##C程序设计语言# C语言中的随机数函数解析...

    在计算机中并没有一个真正的随机数发生器,但是可以做到使产生的数字重复率很低,这样看起来好象是真正的随机数,实现这一功能的程序叫伪随机数发生器. 有关如何产生随机数的理论有许多,如果要详细地讨论,需要厚 ...

  9. tensorflow中的shape函数理解

    在tensorflow中经常用到shape函数 例如 import tensorflow as tf a = tf.constant([[1.,2.,3.],[4.,5.,6.],[7.,8.,9.] ...

最新文章

  1. Telerik RadGridView动态增删行及行列操作
  2. pyspark reduce代码示例
  3. View的setOnClickListener的添加方法
  4. ionic 安装 inappbrowser 插件后编译失败的解决办法
  5. YouTube高效传输策略:节省14%带宽 用户体验提升
  6. java 做项目踩坑,web项目踩坑过程
  7. 程序员面试金典 - 面试题 08.11. 硬币(背包DP)
  8. 学术工业界大佬联合打造:ML产品落地流程指南
  9. openssl 生成证书_CentOS7 httpd(Apache)SSL 证书部署
  10. 4-1 ADO.NET简介 4
  11. Java尚能饭否?10月编程排行榜告诉你!
  12. 华为手机怎么录屏?十分简单,轻松学会
  13. build_ext --inplace 是什么意思
  14. Maven中央仓库地址整理
  15. 计算机网络安全与维护论文致谢,计算机论文致谢词
  16. 直线插补c语言源程序,老哥们求助直线插补程序,带图我不会图啊
  17. P1048 [NOIP2005 普及组] 采药
  18. Robin六种常用负载均衡算法源码解析
  19. 基于springboot+mybatis的高考志愿推荐及填报系统
  20. android书籍推荐!分析Android未来几年的发展前景,灵魂拷问

热门文章

  1. 【逗老师带你学IT】PRTG监控系统通过企业微信推送告警消息
  2. 中华万年历大数据平台演进
  3. html skype加好友代码,分享个刚学会的电子邮件中加Skype即时联络标签的方法~有用请顶...
  4. Literate Programming和产品开发
  5. 2020高压电工模拟考试题及高压电工模拟考试软件
  6. 华为HCIA-DatacomV1.0模拟考试
  7. U盘版便携式Linux制作
  8. 支撑互联网的基石 tcp/ip,5个方面全面解析
  9. java float.parsefloat_java.lang.Float.parseFloat()方法实例
  10. 9.2日第一次python作业