numpy和tensorflow中的各種乘法(點(diǎn)乘和矩陣乘)
點(diǎn)乘和矩陣乘的區(qū)別:
1)點(diǎn)乘(即“ * ”) ---- 各個(gè)矩陣對(duì)應(yīng)元素做乘法
若 w 為 m*1 的矩陣,x 為 m*n 的矩陣,那么通過(guò)點(diǎn)乘結(jié)果就會(huì)得到一個(gè) m*n 的矩陣。
若 w 為 m*n 的矩陣,x 為 m*n 的矩陣,那么通過(guò)點(diǎn)乘結(jié)果就會(huì)得到一個(gè) m*n 的矩陣。
w的列數(shù)只能為 1 或 與x的列數(shù)相等(即n),w的行數(shù)與x的行數(shù)相等 才能進(jìn)行乘法運(yùn)算。
2)矩陣乘 ---- 按照矩陣乘法規(guī)則做運(yùn)算
若 w 為 m*p 的矩陣,x 為 p*n 的矩陣,那么通過(guò)矩陣相乘結(jié)果就會(huì)得到一個(gè) m*n 的矩陣。
只有 w 的列數(shù) == x的行數(shù) 時(shí),才能進(jìn)行乘法運(yùn)算
1. numpy
1)點(diǎn)乘
import numpy as np w = np.array([[0.4], [1.2]]) x = np.array([range(1,6), range(5,10)]) print w print x print w*x
運(yùn)行結(jié)果如下圖:
2)矩陣乘
import numpy as np w = np.array([[0.4, 1.2]]) x = np.array([range(1,6), range(5,10)]) print w print x print np.dot(w,x)
運(yùn)行結(jié)果如下:
2. tensorflow
1)點(diǎn)乘
import tensorflow as tf w = tf.Variable([[0.4], [1.2]], dtype=tf.float32) # w.shape: [2, 1] x = tf.Variable([range(1,6), range(5,10)], dtype=tf.float32) # x.shape: [2, 5] y = w * x # 等同于 y = tf.multiply(w, x) y.shape: [2, 5] sess = tf.Session() init = tf.global_variables_initializer() sess.run(init) print sess.run(w) print sess.run(x) print sess.run(y)
運(yùn)行結(jié)果如下:
2)矩陣乘
# coding:utf-8 import tensorflow as tf w = tf.Variable([[0.4, 1.2]], dtype=tf.float32) # w.shape: [1, 2] x = tf.Variable([range(1,6), range(5,10)], dtype=tf.float32) # x.shape: [2, 5] y = tf.matmul(w, x) # y.shape: [1, 5] sess = tf.Session() init = tf.global_variables_initializer() sess.run(init) print sess.run(w) print sess.run(x) print sess.run(y)
運(yùn)行結(jié)果如下:
到此這篇關(guān)于numpy和tensorflow中的各種乘法(點(diǎn)乘和矩陣乘)的文章就介紹到這了,更多相關(guān)numpy和tensorflow 乘法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決tensorflow訓(xùn)練時(shí)內(nèi)存持續(xù)增加并占滿(mǎn)的問(wèn)題
今天小編就為大家分享一篇解決tensorflow訓(xùn)練時(shí)內(nèi)存持續(xù)增加并占滿(mǎn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python3中函數(shù)參數(shù)傳遞方式實(shí)例詳解
這篇文章主要介紹了Python3中函數(shù)參數(shù)傳遞方式,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python3中函數(shù)參數(shù)傳遞的常見(jiàn)操作技巧,需要的朋友可以參考下2019-05-05使用python制作一個(gè)簡(jiǎn)單的井字棋游戲
井字棋(Tic-Tac-Toe)是一種經(jīng)典的兩人棋盤(pán)游戲,通常由兩名玩家輪流下棋,目標(biāo)是在一個(gè)3x3的棋盤(pán)上先形成橫向、縱向或?qū)蔷€的三個(gè)棋子,本文將介紹如何使用 Python 制作一個(gè)簡(jiǎn)單的井字棋游戲、包括游戲規(guī)則、界面設(shè)計(jì)和實(shí)現(xiàn)代碼,需要的朋友可以參考下2023-11-11python使用pywinauto驅(qū)動(dòng)微信客戶(hù)端實(shí)現(xiàn)公眾號(hào)爬蟲(chóng)
這個(gè)項(xiàng)目是通過(guò)pywinauto控制windows(win10)上的微信PC客戶(hù)端來(lái)實(shí)現(xiàn)公眾號(hào)文章的抓取。代碼分成server和client兩部分。server接收client抓取的微信公眾號(hào)文章,并且保存到數(shù)據(jù)庫(kù)。另外server支持簡(jiǎn)單的搜索和導(dǎo)出功能。client通過(guò)pywinauto實(shí)現(xiàn)微信公眾號(hào)文章的抓取。2021-05-05python 列表,數(shù)組和矩陣sum的用法及區(qū)別介紹
今天小編就為大家分享一篇python 列表,數(shù)組和矩陣sum的用法及區(qū)別介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06Python使用read_csv讀數(shù)據(jù)遇到分隔符問(wèn)題的2種解決方式
read.csv()可以從帶分隔符的文本文件中導(dǎo)入數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Python使用read_csv讀數(shù)據(jù)遇到分隔符問(wèn)題的2種解決方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Python實(shí)現(xiàn)購(gòu)物車(chē)購(gòu)物小程序
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)購(gòu)物車(chē)購(gòu)物小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04python BeautifulSoup庫(kù)的常用操作
Beautiful Soup 是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python庫(kù),它能夠通過(guò)你喜歡的轉(zhuǎn)換器實(shí)現(xiàn)慣用的文檔導(dǎo)航,查詢(xún),修改文檔的方式,本文就來(lái)給大家簡(jiǎn)單介紹一下BeautifulSoup庫(kù)的常用操作,需要的朋友可以參考下2023-08-08