tf.diag(diagonal,name=None) #生成對(duì)角矩陣
1
2
3
4
|
import tensorflowas tf; diagonal = [ 1 , 1 , 1 , 1 ] with tf.Session() as sess: print (sess.run(tf.diag(diagonal))) |
1
2
3
4
|
#輸出的結(jié)果為[[1 0 0 0] [ 0 1 0 0 ] [ 0 0 1 0 ] [ 0 0 0 1 ]] |
tf.diag_part(input,name=None) #功能與tf.diag函數(shù)相反,返回對(duì)角陣的對(duì)角元素
1
2
3
4
|
import tensorflow as tf; diagonal = tf.constant([[ 1 , 0 , 0 , 0 ],[ 0 , 1 , 0 , 0 ],[ 0 , 0 , 1 , 0 ],[ 0 , 0 , 0 , 1 ]]) with tf.Session() as sess: print (sess.run(tf.diag_part(diagonal))) |
1
|
#輸出結(jié)果為[1,1,1,1] |
tf.trace(x,name=None) #求一個(gè)2維Tensor足跡,即為對(duì)角值diagonal之和
1
2
3
4
|
import tensorflow as tf; diagonal = tf.constant([[ 1 , 0 , 0 , 3 ],[ 0 , 1 , 2 , 0 ],[ 0 , 1 , 1 , 0 ],[ 1 , 0 , 0 , 1 ]]) with tf.Session() as sess: print (sess.run(tf.trace(diagonal))) #輸出結(jié)果為4 |
tf.transpose(a,perm=None,name='transpose') #調(diào)換tensor的維度順序,按照列表perm的維度排列調(diào)換tensor的順序
1
2
3
4
5
6
7
|
import tensorflow as tf; diagonal = tf.constant([[ 1 , 0 , 0 , 3 ],[ 0 , 1 , 2 , 0 ],[ 0 , 1 , 1 , 0 ],[ 1 , 0 , 0 , 1 ]]) with tf.Session() as sess: print (sess.run(tf.transpose(diagonal))) #輸出結(jié)果為[[1 0 0 1] [ 0 1 1 0 ] [ 0 2 1 0 ] [ 3 0 0 1 ]] |
tf.matmul(a,b,transpose_a=False,transpose_b=False,a_is_sparse=False,b_is_sparse=False,name=None) #矩陣相乘
transpose_a=False,transpose_b=False #運(yùn)算前是否轉(zhuǎn)置
a_is_sparse=False,b_is_sparse=False #a,b是否當(dāng)作系數(shù)矩陣進(jìn)行運(yùn)算
1
2
3
4
5
|
import tensorflow as tf; A = tf.constant([ 1 , 0 , 0 , 3 ],shape = [ 2 , 2 ]) B = tf.constant([ 2 , 1 , 0 , 2 ],shape = [ 2 , 2 ]) with tf.Session() as sess: print (sess.run(tf.matmul(A,B))) |
1
2
|
#輸出結(jié)果為[[2 1] [ 0 6 ]] |
tf.matrix_determinant(input,name=None) #計(jì)算行列式
1
2
3
4
|
import tensorflow as tf; A = tf.constant([ 1 , 0 , 0 , 3 ],shape = [ 2 , 2 ],dtype = tf.float32) with tf.Session() as sess: print (sess.run(tf.matrix_determinant(A))) |
1
|
#輸出結(jié)果為3.0 |
tf.matrix_inverse(input,adjoint=None,name=None)
adjoint決定計(jì)算前是否進(jìn)行轉(zhuǎn)置
1
2
3
4
|
import tensorflow as tf; A = tf.constant([ 1 , 0 , 0 , 2 ],shape = [ 2 , 2 ],dtype = tf.float64) with tf.Session() as sess: print (sess.run(tf.matrix_inverse(A))) |
1
2
|
#輸出結(jié)果為[[ 1. 0. ] [ 0. 0.5 ]] |
tf.cholesky(input,name=None) #對(duì)輸入方陣cholesky分解,即為將一個(gè)對(duì)稱正定矩陣表示成一個(gè)下三角矩陣L和其轉(zhuǎn)置的乘積德分解
1
2
3
4
|
import tensorflow as tf; A = tf.constant([ 1 , 0 , 0 , 2 ],shape = [ 2 , 2 ],dtype = tf.float64) with tf.Session() as sess: print (sess.run(tf.cholesky(A))) |
1
2
|
#輸出結(jié)果為[[ 1. 0. ] [ 0. 1.41421356 ]] |
以上這篇對(duì)Tensorflow中的矩陣運(yùn)算函數(shù)詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/zSean/article/details/75154118