Tensorflow是Google開發的開源機器學習庫。它的應用之一是開發深度神經網絡。
模塊tensorflow.nn
為許多基本的神經網絡操作提供支持。
Sigmoid函數是許多激活函數之一,其定義為。
Sigmoid函數的輸出範圍為(0,1),非常適合於二進製分類問題,因為我們需要找到屬於特定類別的數據的概率。 S形函數在每個點都是微分的,其導數為。由於表達式包含S型函數,因此可以重用其值以使向後傳播更快。
乙狀結腸函數受到“vanishing gradients”的困擾,因為它的兩端都變平了,導致反向傳播過程中重量的變化很小。這會使神經網絡拒絕學習並陷入困境。由於這個原因,S形函數的使用已被其他非線性函數(如整流線性單元(ReLU))取代。
函數tf.nn.sigmoid()
[別名tf.sigmoid
]為Tensorflow中的S形函數提供支持。
用法:tf.nn.sigmoid(x, name=None) or tf.sigmoid(x, name=None)
參數:
x:以下任何類型的張量:float16,float32,float64,complex64或complex128。
name(可選):操作的名稱。
返回類型:與x具有相同類型的張量。
代碼1:
# Importing the Tensorflow library
import tensorflow as tf
# A constant vector of size 6
a = tf.constant([1.0, -0.5, 3.4, -2.1, 0.0, -6.5], dtype = tf.float32)
# Applying the sigmoid function and
# storing the result in 'b'
b = tf.nn.sigmoid(a, name ='sigmoid')
# Initiating a Tensorflow session
with tf.Session() as sess:
print('Input type:', a)
print('Input:', sess.run(a))
print('Return type:', b)
print('Output:', sess.run(b))
輸出:
Input type:Tensor("Const_1:0", shape=(6, ), dtype=float32) Input:[ 1. -0.5 3.4000001 -2.0999999 0. -6.5 ] Return type:Tensor("sigmoid:0", shape=(6, ), dtype=float32) Output:[ 0.7310586 0.37754068 0.96770459 0.10909683 0.5 0.00150118]
代碼2:可視化
# Importing the Tensorflow library
import tensorflow as tf
# Importing the NumPy library
import numpy as np
# Importing the matplotlib.pylot function
import matplotlib.pyplot as plt
# A vector of size 15 with values from -5 to 5
a = np.linspace(-5, 5, 15)
# Applying the sigmoid function and
# storing the result in 'b'
b = tf.nn.sigmoid(a, name ='sigmoid')
# Initiating a Tensorflow session
with tf.Session() as sess:
print('Input:', a)
print('Output:', sess.run(b))
plt.plot(a, sess.run(b), color = 'red', marker = "o")
plt.title("tensorflow.nn.sigmoid")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
輸出:
Input:Input:[-5. -4.28571429 -3.57142857 -2.85714286 -2.14285714 -1.42857143 -0.71428571 0. 0.71428571 1.42857143 2.14285714 2.85714286 3.57142857 4.28571429 5. ] Output:[ 0.00669285 0.01357692 0.02734679 0.05431327 0.10500059 0.19332137 0.32865255 0.5 0.67134745 0.80667863 0.89499941 0.94568673 0.97265321 0.98642308 0.99330715]
相關用法
- Python Tensorflow nn.tanh()用法及代碼示例
- Python Tensorflow nn.softplus()用法及代碼示例
- Python Tensorflow cos()用法及代碼示例
- Python Tensorflow tan()用法及代碼示例
- Python Tensorflow sin()用法及代碼示例
- Python Tensorflow abs()用法及代碼示例
- Python Tensorflow log()用法及代碼示例
- Python Tensorflow exp()用法及代碼示例
- Python Tensorflow acos()用法及代碼示例
- Python Tensorflow atan()用法及代碼示例
- Python Tensorflow logical_and()用法及代碼示例
- Python Tensorflow cosh()用法及代碼示例
- Python Tensorflow sinh()用法及代碼示例
注:本文由純淨天空篩選整理自vaibhav29498大神的英文原創作品 Python | Tensorflow nn.sigmoid()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。