您好,登錄后才能下訂單哦!
小編給大家分享一下python中@運算符的用法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
n=100 x = torch.ones(n,2) x[:,0].uniform_(-1.,1) x[:5] a = tensor(3.,2) y = x@a + torch.rand(n)
于是百度搜了一下,都是說@xxx是注解或者裝飾器,明顯不是這段代碼的場景嘛!
于是又Google了一下,原來這個@是Python 3.5之后加入的矩陣乘法運算符,終于明白了!
補充:python矩陣乘積運算(multiply/maumul/*/@)解析
在訓練數據時經常涉及到矩陣運算,有段時間沒有練習過了,手便生疏了。
今天重新測了一把,python中各類矩陣運算舉例如下,可以清楚的看到tf.matmul(A,C)=np.dot(A,C)= A@C都屬于叉乘,而tf.multiply(A,C)= A*C=A?C屬于點乘。
import tensorflow as tf import numpy as np a = np.array([[1,2],[3,4]]) b = np.array([5,6]) c = np.array([[5,6],[7,8]]) print('a:'+'\n',a) print('b:'+'\n',b) print('c:'+'\n',c) #叉乘 d1=a@c d2=tf.matmul(a,c) d3=np.dot(a,c) #點乘 f1=a*c f2=tf.multiply(a,c) with tf.compat.v1.Session() as sess: print('d1:叉乘a@c' + '\n', d1) print('d2:叉乘matmul(a,c)' + '\n', sess.run(d2)) print('d3:叉乘dot(a,c)' + '\n', d3) print('f1:點乘a*c' + '\n', f1) print('f2:點乘multiply(a,c)' + '\n', sess.run(f2))
以上是“python中@運算符的用法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。