tensorflow+numpy 深度学习相关函数(持续更新)
生活随笔
收集整理的這篇文章主要介紹了
tensorflow+numpy 深度学习相关函数(持续更新)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
?
tensorflow運算法則
import tensorflow as tf tf.add(a,b) #加法 tf.subtract(a,b) #減法 tf.multiply(x,y) #乘法 tf.div(x,y) #整除 tf.truediv(x,y) #浮點數(shù)除法 tf.mod(x,y) #取余?
tf.reduce_mean()
tf.reduce_mean 函數(shù)用于計算張量tensor沿著指定的數(shù)軸(tensor的某一維度)上的的平均值,主要用作降維或者計算tensor(圖像)的平均值。
接口為:reduce_mean(input_tensor,axis=None,keep_dims=False,name=None,reduction_indices=None)- 第一個參數(shù)input_tensor: 輸入的待降維的tensor;
- 第二個參數(shù)axis: 指定的軸,如果不指定,則計算所有元素的均值;
- 第三個參數(shù)keep_dims:是否降維度,設(shè)置為True,輸出的結(jié)果保持輸入tensor的形狀,設(shè)置為False,輸出結(jié)果會降低維度;
- 第四個參數(shù)name: 操作的名稱;
- 第五個參數(shù) reduction_indices:在以前版本中用來指定軸,已棄用;
舉個例子:
import tensorflow as tfx = [[1,2,3],[1,2,3]]xx = tf.cast(x,tf.float32)mean_all = tf.reduce_mean(xx, keep_dims=False) mean_0 = tf.reduce_mean(xx, axis=0, keep_dims=False) mean_1 = tf.reduce_mean(xx, axis=1, keep_dims=False)with tf.Session() as sess:m_a,m_0,m_1 = sess.run([mean_all, mean_0, mean_1])print m_a # output: 2.0 print m_0 # output: [ 1. 2. 3.] print m_1 #output: [ 2. 2.]類似的函數(shù)
- tf.reduce_sum :計算tensor指定軸方向上的所有元素的累加和;
- tf.reduce_max? :? 計算tensor指定軸方向上的各個元素的最大值;
- tf.reduce_all :? 計算tensor指定軸方向上的各個元素的邏輯和(and運算);
- tf.reduce_any:? 計算tensor指定軸方向上的各個元素的邏輯或(or運算);
?
np.linalg.norm()——范數(shù)
inalg=linear(線性)+algebra(代數(shù)),norm則表示范數(shù)。
x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)1. x: 表示矩陣(可以是一維)
2. ord:范數(shù)類型
向量的三種范數(shù)求法:
矩陣的三種范數(shù)求法:
3. axis:處理類型
4. keepding:是否保持矩陣的二維特性
True表示保持矩陣的二維特性,False相反
例子:
import numpy as np x = np.array([[1, 2, 3],[2, 4, 6]]) print "默認(rèn)參數(shù)(矩陣2范數(shù),不保留矩陣二維特性) :", np.linalg.norm(x) print "矩陣2范數(shù),保留矩陣二維特性:", np.linalg.norm(x, keepdims=True) print "矩陣1范數(shù)(列和的最大值) :", np.linalg.norm(x, ord=1,keepdims=True) print "矩陣2范數(shù)(求特征值,然后求最大特征值得算術(shù)平方根):", np.linalg.norm(x, ord=2, keepdims=True) print "矩陣∞范數(shù)(行和的最大值) :", np.linalg.norm(x, ord=np.inf, keepdims=True) print "矩陣每個行向量求向量的2范數(shù):", np.linalg.norm(x, axis=1, keepdims=True) print "矩陣每個列向量求向量的2范數(shù):", np.linalg.norm(x, axis=0, keepdims=True) print "矩陣每個行向量求向量的1范數(shù):", np.linalg.norm(x, ord=1, axis=1, keepdims=True) print "矩陣每個列向量求向量的1范數(shù):", np.linalg.norm(x, ord=1, axis=0, keepdims=True)輸出結(jié)果為:
默認(rèn)參數(shù)(矩陣2范數(shù),不保留矩陣二維特性) : 8.36660026534 矩陣2范數(shù),保留矩陣二維特性: [[8.36660027]] 矩陣1范數(shù)(列和的最大值) : [[9.]] 矩陣2范數(shù)(求特征值,然后求最大特征值得算術(shù)平方根): [[8.36660027]] 矩陣∞范數(shù)(行和的最大值) : [[12.]] 矩陣每個行向量求向量的2范數(shù): [[3.74165739][7.48331477]] 矩陣每個列向量求向量的2范數(shù): [[2.23606798 4.47213595 6.70820393]] 矩陣每個行向量求向量的1范數(shù): [[ 6.][12.]] 矩陣每個列向量求向量的1范數(shù): [[3. 6. 9.]]?
參考資料:
【1】https://blog.csdn.net/Liang_xj/article/details/85005243
【2】https://blog.csdn.net/dcrmg/article/details/79797826
總結(jié)
以上是生活随笔為你收集整理的tensorflow+numpy 深度学习相关函数(持续更新)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奇奇怪怪的小姿势——关于UI的各种Pos
- 下一篇: 深度学习中常用的误差方法