Tensorflow 啟用函式

2022-03-02 10:33:15 字數 2099 閱讀 6434

一些常見啟用函式(維基百科)

#建立輸入資料

x = np.linspace(-7, 7, 180) #

(-7, 7) 之間等間隔的 180 個點

#啟用函式的原始實現

defsigmoid(inputs):

y = [1 / float(1 + np.exp(-x)) for x in

inputs]

return

ydef

relu(inputs):

y = [x * (x > 0) for x in

inputs]

return

ydef

tanh(inputs):

y = [(np.exp(x) - np.exp(-x)) / float(np.exp(x) - np.exp(-x)) for x in

inputs]

return

ydef

softplus(inputs):

y = [np.log(1 + np.exp(x)) for x in

inputs]

returny#

經過 tensorflow 的啟用函式處理的各個 y 值

y_sigmoid =tf.nn.sigmoid(x)

y_relu =tf.nn.relu(x)

y_tanh =tf.nn.tanh(x)

y_softplus =tf.nn.softplus(x)

#建立會話

sess =tf.session()#執行

y_sigmoid, y_relu, y_tanh, y_softplus =sess.run([y_sigmoid, y_relu, y_tanh, y_softplus])

#建立各個啟用函式的影象

plt.figure(1, figsize=(8, 6))

plt.subplot(221)

plt.plot(x, y_sigmoid, c='

red', label='

sigmoid')

plt.ylim((-0.2, 1.2))

plt.legend(loc='

best')

plt.subplot(222)

plt.plot(x, y_relu, c='

red', label='

relu')

plt.ylim((-1, 6))

plt.legend(loc='

best')

plt.subplot(223)

plt.plot(x, y_tanh, c='

red', label='

tanh')

plt.ylim((-1.3, 1.3))

plt.legend(loc='

best')

plt.subplot(224)

plt.plot(x, y_softplus, c='

red', label='

softplus')

plt.ylim((-1, 6))

plt.legend(loc='

best')

#顯示影象

plt.show()

#關閉會話

sess.close()

執行結果:

tensorflow啟用函式

encoding utf 8 案例一 import tensorflow as tf import numpy as np seed 23455 cost 1 成本 profit 99 利潤 rdm np.random.randomstate seed x rdm.rand 32,2 y x1 x2...

tensorflow 損失函式與啟用函式

損失函式用於評價模型的準確度。無論什麼樣的網路結構,如果損失函式不正確,都難以訓練出正確的模型。損失值用於描述 值與真實值之間的差距大小。常用的損失函式是 均方差函式和交叉熵函式。均方差mse tf.reduce mean tf.pow tf.sub logits,outputs 2.0 tenso...

Tensorflow2 0 啟用函式

常用啟用函式及對應特點 神經網路結構的輸出為所有輸入的加權和,這導致整個神經網路是乙個線性模型。而線性模型不能解決異或問題,且面對多分類問題,也顯得束手無策。所以為了解決非線性的分類或回歸問題,啟用函式必須是非線性函式。神經網路中啟用函式的主要作用是提供網路的非線性建模能力。這是因為反向傳播演算法就...