tensorflow中Dense函數(shù)的具體使用
1 作用
注意此處Tensorflow版本是2.0+。
由于本人是Pytorch用戶,對Tensorflow不是很熟悉,在讀到用tf寫的代碼時就很是麻煩。如圖所示,遇到了如下代碼:
h = Dense(units=adj_dim, activation=None)(dec_in)
Dense層就是全連接層,對于層方式的初始化的時候,layers.Dense(units,activation)函數(shù)一般只需要指定輸出節(jié)點數(shù)Units和激活函數(shù)類型即可。輸入節(jié)點數(shù)將根據(jù)第一次運算時輸入的shape確定,同時輸入、輸出節(jié)點自動創(chuàng)建并初始化權值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, 激活函數(shù).但是默認 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 是權重函數(shù), Dense() 會隨機給 W 一個初始值。所以這里跟Pytorch的nn.linear()一樣。
2 例子
# 使用第一種方法進行初始化 # 作為 Sequential 模型的第一層,需要指定輸入維度??梢詾?input_shape=(16,) 或者 input_dim=16,這兩者是等價的。 model = Sequential() model.add(Dense(32, input_shape=(16,))) # 現(xiàn)在模型就會以尺寸為 (*, 16) 的數(shù)組作為輸入, # 其輸出數(shù)組的尺寸為 (*, 32) # 在第一層之后,就不再需要指定輸入的尺寸了: model.add(Dense(32))
3 與torch.nn.Linear的區(qū)別
# Pytorch實現(xiàn) trd = torch.nn.Linear(in_features = 3, out_features = 30) y = trd(torch.ones(5, 3)) print(y.size()) # torch.Size([5, 30]) # Tensorflow實現(xiàn) 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的實現(xiàn)方式相同,但是我存在疑惑
4 參考文獻
[1]dense層、激活函數(shù)、輸出層設計
[2]Dense(units, activation=None,)初步
[3]深入理解 keras 中 Dense 層參數(shù)
[4]tensorflow - Tensorflow 的 tf.keras.layers.Dense 和 PyTorch 的 torch.nn.Linear 的區(qū)別?
到此這篇關于tensorflow中Dense函數(shù)的具體使用的文章就介紹到這了,更多相關tensorflow Dense函數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Django websocket原理及功能實現(xiàn)代碼
這篇文章主要介紹了Django websocket原理及功能實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11
TensorFlow通過文件名/文件夾名獲取標簽,并加入隊列的實現(xiàn)
今天小編就為大家分享一篇TensorFlow通過文件名/文件夾名獲取標簽,并加入隊列的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02

