tensorflow2 0 自定義層

2021-10-02 23:06:16 字數 1671 閱讀 3523

無引數的自定義層可以使用:keras.layers.lambda函式

customized_spftplus = keras.layers.lambda(

lambda x : tf.nn.softplus(x)

)print

(customized_spftplus(

[1.0

,1.0

,1.0

,0.0

,0.1

,0.2])

)# tf.tensor([1.3132616 1.3132616 1.3132616 0.6931472 0.7443967 0.7981388], shape=(6,), dtype=float32)

有引數自定義層需要繼承keras.layers.layer類

class

customizeddenselayer

(keras.layers.layer)

:'''

繼承的時候必須有三個方法,__init__,build,call

'''# 建構函式需要,繼承父類的初始屬性,這時候需要用到

# super(customizeddenselayer, self).__init__(**kwargs)

def__init__

(self, units, activation=

none

,**kwargs)

: self.units = units

self.activation = keras.layers.activation(activation)

# super

(customizeddenselayer, self)

.__init__(

**kwargs)

defbuild

(self, input_shape)

:# 呼叫父類的方法,add_weight,新增weight

self.kernel = self.add_weight(name=

'kernel'

, shape=

(input_shape[1]

, self.units)

, initializer =

'uniform'

, trainable =

true

) self.bias = self.add_weight(name=

'bias'

,shape=

(self.units,),

initializer =

'zeros'

, trainable =

true

)super

(customizeddenselayer,self)

.build(input_shape)

defcall

(self, x)

:return self.activation(x @ self.kernel + self.bias)

TensorFlow2 0 自定義層與自定義網路

自定義層函式需要繼承layers.layer,自定義網路需要繼承keras.model。其內部需要定義兩個函式 1 init 初始化函式,內部需要定義構造形式 2 call函式,內部需要定義計算形式及返回值。self def layer class mydense layers.layer inhe...

tensorflow2 0學習筆記 自定義求導

tensorflow2.0建立神經網路模型,tensorflow近似求導與keras.optimizers結合使用,實現自定義求導,使得模型訓練更加靈活。tensorflow2.0學習筆記 應用tensorflow近似求導介紹tensorflow求導的基本用法。import matplotlib a...

tensorflow2 0視訊記憶體設定

遇到乙個問題 新買顯示卡視訊記憶體8g但是tensorflow執行的時候介面顯示只有約6.3g的視訊記憶體可用,如下圖 即限制了我的視訊記憶體,具體原因為什麼我也不知道,但原來的視訊記憶體小一些的顯示卡就沒有這個問題。目前的解決辦法是 官方文件解決 然後對應的中文部落格 總結一下,就是下面的兩個辦法...