浅谈keras中的batch_dot,dot方法和TensorFlow的matmul


Posted in Python onJune 18, 2020

概述

在使用keras中的keras.backend.batch_dot和tf.matmul实现功能其实是一样的智能矩阵乘法,比如A,B,C,D,E,F,G,H,I,J,K,L都是二维矩阵,中间点表示矩阵乘法,AG 表示矩阵A 和G 矩阵乘法(A 的列维度等于G 行维度),WX=Z

import keras.backend as K
import tensorflow as tf
import numpy as np

w = K.variable(np.random.randint(10,size=(10,12,4,5)))
k = K.variable(np.random.randint(10,size=(10,12,5,8)))
z = K.batch_dot(w,k)
print(z.shape) #(10, 12, 4, 8)
import keras.backend as K
import tensorflow as tf
import numpy as np

w = tf.Variable(np.random.randint(10,size=(10,12,4,5)),dtype=tf.float32)
k = tf.Variable(np.random.randint(10,size=(10,12,5,8)),dtype=tf.float32)
z = tf.matmul(w,k)
print(z.shape) #(10, 12, 4, 8)

浅谈keras中的batch_dot,dot方法和TensorFlow的matmul

示例

from keras import backend as K
a = K.ones((3,4,5,2))
b = K.ones((2,5,3,7))
c = K.dot(a, b)
print(c.shape)

会输出:

ValueError: Dimensions must be equal, but are 2 and 3 for ‘MatMul' (op: ‘MatMul') with input shapes: [60,2], [3,70].

from keras import backend as K
a = K.ones((3,4))
b = K.ones((4,5))
c = K.dot(a, b)
print(c.shape)#(3,5)

或者

import tensorflow as tf
a = tf.ones((3,4))
b = tf.ones((4,5))
c = tf.matmul(a, b)
print(c.shape)#(3,5)

如果增加维度:

from keras import backend as K
a = K.ones((2,3,4))
b = K.ones((7,4,5))
c = K.dot(a, b)
print(c.shape)#(2, 3, 7, 5)

这个矩阵乘法会沿着两个矩阵最后两个维度进行乘法,不是element-wise矩阵乘法

from keras import backend as K
a = K.ones((1, 2, 3 , 4))
b = K.ones((8, 7, 4, 5))
c = K.dot(a, b)
print(c.shape)#(1, 2, 3, 8, 7, 5)

浅谈keras中的batch_dot,dot方法和TensorFlow的matmul

keras的dot方法是Theano中的复制

from keras import backend as K
a = K.ones((1, 2, 4))
b = K.ones((8, 7, 4, 5))
c = K.dot(a, b)
print(c.shape)# (1, 2, 8, 7, 5).
from keras import backend as K
a = K.ones((9, 8, 7, 4, 2))
b = K.ones((9, 8, 7, 2, 5))
c = K.batch_dot(a, b)
print(c.shape) #(9, 8, 7, 4, 5)

或者

import tensorflow as tf
a = tf.ones((9, 8, 7, 4, 2))
b = tf.ones((9, 8, 7, 2, 5))
c = tf.matmul(a, b)
print(c.shape) #(9, 8, 7, 4, 5)

以上这篇浅谈keras中的batch_dot,dot方法和TensorFlow的matmul就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
常用python编程模板汇总
Feb 12 Python
Python for Informatics 第11章之正则表达式(四)
Apr 21 Python
Numpy掩码式数组详解
Apr 17 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
Python切片索引用法示例
May 15 Python
对python 生成拼接xml报文的示例详解
Dec 28 Python
python 实现返回一个列表中出现次数最多的元素方法
Jun 11 Python
python 列表输出重复值以及对应的角标方法
Jun 11 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
Python利用matplotlib绘制约数个数统计图示例
Nov 26 Python
解决使用Pandas 读取超过65536行的Excel文件问题
Nov 10 Python
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
Apr 13 Python
PyCharm中配置PySide2的图文教程
Jun 18 #Python
python属于软件吗
Jun 18 #Python
python交互模式基础知识点学习
Jun 18 #Python
使用Keras实现Tensor的相乘和相加代码
Jun 18 #Python
python如何从键盘获取输入实例
Jun 18 #Python
Python计算信息熵实例
Jun 18 #Python
python导入库的具体方法
Jun 18 #Python
You might like
一个显示天气预报的程序
2006/10/09 PHP
PHP 批量更新网页内容实现代码
2010/01/05 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
IE中jscript/javascript的条件编译
2006/09/07 Javascript
JS 动态加载脚本的4种方法
2009/05/05 Javascript
Javascript技巧之不要用for in语句对数组进行遍历
2010/10/20 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
JavaScript获取服务器时间的方法详解
2016/12/11 Javascript
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
python二分查找算法的递归实现方法
2016/05/12 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
itchat接口使用示例
2017/10/23 Python
django加载本地html的方法
2018/05/27 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
2019/12/26 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
自主招生自荐信格式
2015/03/04 职场文书
廉洁自律证明
2015/06/24 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript
P站美图推荐——变身女主角特辑
2022/03/20 日漫
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL