欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

將tf.batch_matmul替換成tf.matmul的實(shí)現(xiàn)

 更新時(shí)間:2020年06月18日 11:41:13   作者:guotong1988  
這篇文章主要介紹了將tf.batch_matmul替換成tf.matmul的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

import tensorflow as tf
h_doc=tf.placeholder(tf.int32,[None,30,512])
h_query=tf.placeholder(tf.int32,[None,10,512])
temp = tf.matmul(h_doc, h_query, adjoint_b = True) # tf.batch_matmul(h_doc, h_query, adj_y=True)
print(temp.get_shape())

(?, 30, 10)

補(bǔ)充知識(shí):tf.matmul() 和tf.multiply() 的區(qū)別

1.tf.multiply()兩個(gè)矩陣中對(duì)應(yīng)元素各自相乘

格式: tf.multiply(x, y, name=None)

參數(shù):

x: 一個(gè)類型為:half, float32, float64, uint8, int8, uint16, int16, int32, int64, complex64, complex128的張量。

y: 一個(gè)類型跟張量x相同的張量。

返回值: x * y element-wise.

注意:

(1)multiply這個(gè)函數(shù)實(shí)現(xiàn)的是元素級(jí)別的相乘,也就是兩個(gè)相乘的數(shù)元素各自相乘,而不是矩陣乘法,注意和tf.matmul區(qū)別。

(2)兩個(gè)相乘的數(shù)必須有相同的數(shù)據(jù)類型,不然就會(huì)報(bào)錯(cuò)。

2.tf.matmul()將矩陣a乘以矩陣b,生成a * b。

格式: tf.matmul(a, b, transpose_a=False, transpose_b=False, adjoint_a=False, adjoint_b=False, a_is_sparse=False, b_is_sparse=False, name=None)

參數(shù):

a: 一個(gè)類型為 float16, float32, float64, int32, complex64, complex128 且張量秩 > 1 的張量。

b: 一個(gè)類型跟張量a相同的張量。

transpose_a: 如果為真, a則在進(jìn)行乘法計(jì)算前進(jìn)行轉(zhuǎn)置。

transpose_b: 如果為真, b則在進(jìn)行乘法計(jì)算前進(jìn)行轉(zhuǎn)置。

adjoint_a: 如果為真, a則在進(jìn)行乘法計(jì)算前進(jìn)行共軛和轉(zhuǎn)置。

adjoint_b: 如果為真, b則在進(jìn)行乘法計(jì)算前進(jìn)行共軛和轉(zhuǎn)置。

a_is_sparse: 如果為真, a會(huì)被處理為稀疏矩陣。

b_is_sparse: 如果為真, b會(huì)被處理為稀疏矩陣。

name: 操作的名字(可選參數(shù))

返回值: 一個(gè)跟張量a和張量b類型一樣的張量且最內(nèi)部矩陣是a和b中的相應(yīng)矩陣的乘積。

注意:

(1)輸入必須是矩陣(或者是張量秩 >2的張量,表示成批的矩陣),并且其在轉(zhuǎn)置之后有相匹配的矩陣尺寸。

(2)兩個(gè)矩陣必須都是同樣的類型,支持的類型如下:float16, float32, float64, int32, complex64, complex128。

引發(fā)錯(cuò)誤:

ValueError: 如果transpose_a 和 adjoint_a, 或 transpose_b 和 adjoint_b 都被設(shè)置為真

程序示例:

運(yùn)行結(jié)果:

注意:

在TensorFlow的世界里,變量的定義和初始化是分開的,所有關(guān)于圖變量的賦值和計(jì)算都要通過tf.Session的run來進(jìn)行。想要將所有圖變量進(jìn)行集體初始化時(shí)應(yīng)該使用tf.global_variables_initializer。

以上這篇將tf.batch_matmul替換成tf.matmul的實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論