tensorflow中Dense函数的具体使用

 更新时间:2023年03月02日 09:46:23   作者:一穷二白到年薪百万  
本文主要介绍了tensorflow中Dense函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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 ( W x + 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 的区别?

到此这篇关于tensorflow中Dense函数的具体使用的文章就介绍到这了,更多相关tensorflow Dense函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python标准库os库的函数介绍

    python标准库os库的函数介绍

    这篇文章主要介绍了python标准库os库的函数介绍,需要的朋友可以参考下
    2020-02-02
  • Python 如何利用ffmpeg 处理视频素材

    Python 如何利用ffmpeg 处理视频素材

    ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,使用这个神器,便可以处理各种视频素材内容,极度舒适。本文将介绍如何利用ffmpeg对视频素材进行处理,感兴趣的可以了解一下
    2021-11-11
  • 实例讲解Python中global语句下全局变量的值的修改

    实例讲解Python中global语句下全局变量的值的修改

    global是Python中的一个关键字用来,声明一个局部变量为全局变量,这里我们来以实例讲解Python中global语句下全局变量的值的修改,需要的朋友可以参考下.
    2016-06-06
  • 解决python subprocess参数shell=True踩到的坑

    解决python subprocess参数shell=True踩到的坑

    这篇文章主要介绍了解决python subprocess参数shell=True踩到的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Python中__name__的使用实例

    Python中__name__的使用实例

    这篇文章主要介绍了Python中__name__的使用实例,并总结了两种情况下__name__的值会是什么,需要的朋友可以参考下
    2015-04-04
  • Python编程实现的简单神经网络算法示例

    Python编程实现的简单神经网络算法示例

    这篇文章主要介绍了Python编程实现的简单神经网络算法,结合实例形式分析了神经网络算法的原理及Python相关算法实现技巧,需要的朋友可以参考下
    2018-01-01
  • Python调用百度AI实现身份证识别

    Python调用百度AI实现身份证识别

    这篇文章主要介绍了Python通过调用百度AI的文字识别功能实现对身份证进行识别,代码具有一定的学习价值,感兴趣的朋友一起来看看效果吧
    2021-12-12
  • Django模板报TemplateDoesNotExist异常(亲测可行)

    Django模板报TemplateDoesNotExist异常(亲测可行)

    这篇文章主要介绍了Django模板报TemplateDoesNotExist异常(亲测可行),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python神经网络使用tensorflow构建长短时记忆LSTM

    python神经网络使用tensorflow构建长短时记忆LSTM

    这篇文章主要为大家介绍了python机器学习tensorflow构建长短时记忆网络LSTM,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python实现目录自动清洗

    Python实现目录自动清洗

    这篇文章主要为大家详细介绍了Python实现目录自动清洗的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11

最新评论