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)建并初始化權(quán)值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ù).但是默認(rèn) 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 是權(quán)重函數(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ù)、輸出層設(shè)計
[2]Dense(units, activation=None,)初步
[3]深入理解 keras 中 Dense 層參數(shù)
[4]tensorflow - Tensorflow 的 tf.keras.layers.Dense 和 PyTorch 的 torch.nn.Linear 的區(qū)別?
到此這篇關(guān)于tensorflow中Dense函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)tensorflow Dense函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python標(biāo)準(zhǔn)庫os庫的函數(shù)介紹
這篇文章主要介紹了python標(biāo)準(zhǔn)庫os庫的函數(shù)介紹,需要的朋友可以參考下2020-02-02
實例講解Python中g(shù)lobal語句下全局變量的值的修改
global是Python中的一個關(guān)鍵字用來,聲明一個局部變量為全局變量,這里我們來以實例講解Python中g(shù)lobal語句下全局變量的值的修改,需要的朋友可以參考下.2016-06-06
解決python subprocess參數(shù)shell=True踩到的坑
這篇文章主要介紹了解決python subprocess參數(shù)shell=True踩到的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
Python編程實現(xiàn)的簡單神經(jīng)網(wǎng)絡(luò)算法示例
這篇文章主要介紹了Python編程實現(xiàn)的簡單神經(jīng)網(wǎng)絡(luò)算法,結(jié)合實例形式分析了神經(jīng)網(wǎng)絡(luò)算法的原理及Python相關(guān)算法實現(xiàn)技巧,需要的朋友可以參考下2018-01-01
Python調(diào)用百度AI實現(xiàn)身份證識別
這篇文章主要介紹了Python通過調(diào)用百度AI的文字識別功能實現(xiàn)對身份證進行識別,代碼具有一定的學(xué)習(xí)價值,感興趣的朋友一起來看看效果吧2021-12-12
Django模板報TemplateDoesNotExist異常(親測可行)
這篇文章主要介紹了Django模板報TemplateDoesNotExist異常(親測可行),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
python神經(jīng)網(wǎng)絡(luò)使用tensorflow構(gòu)建長短時記憶LSTM
這篇文章主要為大家介紹了python機器學(xué)習(xí)tensorflow構(gòu)建長短時記憶網(wǎng)絡(luò)LSTM,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05

