tf中的矩陣運算

2021-08-19 15:38:38 字數 1033 閱讀 9520

import tensorflow as tf

from numpy import newaxis

from tensorflow.python.ops import math_ops

## tf中的矩陣運算

# 點乘

a = tf.constant([[1,2],[3,4]])

b = tf.constant([[1,1],[2,2]])

sess = tf.session()

print(sess.run(a*b))

# 矩陣乘法

c = tf.constant([[1,2],[3,4]])

d = tf.constant([[1,1],[2,2]])

print(sess.run(tf.matmul(c,d)))

# 矩陣加法

# 矩陣和向量相加,每列加上向量

e = tf.constant([1,1])

print(sess.run(tf.matmul(c,d)+e))

# 增加乙個維度的矩陣乘法 即(?,m)*(?,n)= 對每個?(m,1)*(1,n)

def outer_product(x, y):

# numpy中包含的newaxis可以給原陣列增加乙個維度 np.newaxis放的位置不同,產生的新陣列也不同

return x[:, :, newaxis] * y[:, newaxis, :]

f = tf.constant([[1,2],[3,4]])

g = tf.constant([[1,1,3],[2,2,3]])

i = sess.run(outer_product(f,g))

print(i.shape)

# (?,n) (*) (?,n)點乘

h = tf.constant([[1,2],[3,4]])

j = tf.constant([2,2])

k = math_ops.multiply(h, j)

print(sess.run(k))

tf 矩陣行和列交換 tf矩陣基礎

一 placeholder tensorflow的設計理念稱之為計算流圖,在編寫程式時,首先構築整個系統的graph,並不會直接生效,這一點和python的其他數值計算庫 如numpy等 不同,graph為靜態的,類似於docker中的映象。然後,在實際的執行時,啟動乙個session,程式才會真正...

np和tf中建立隨機矩陣

建立乙個2層3行4列的矩陣 np.random.randn 2,3,4 正態 np.random.randint 1,100,10 隨機10個數,範圍從1到100,構成向量 np.random.randint 1,13,2,3 隨機2行3列的矩陣,值從1到13隨機 np.random.randint...

cublas中的矩陣運算

cublas是乙個可以與cuda一同使用的函式庫,它提供了多種矩陣運算的api,但是它列主序的儲存方式卻讓人十分疑惑,今天我就以cublas中的矩陣乘法運算簡單說一下我的理解。cublas中的矩陣乘法運算函式有5個,分別是cublassgemm cublasdgemm cublascgemm cub...