浅谈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中操作文件之truncate()方法的使用教程
May 25 Python
python xml解析实例详解
Nov 14 Python
利用Python破解验证码实例详解
Dec 08 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
速记Python布尔值
Nov 09 Python
利用Python实现原创工具的Logo与Help
Dec 03 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
Django 反向生成url实例详解
Jul 30 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
Dec 25 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
python函数中将变量名转换成字符串实例
May 11 Python
python实例化对象的具体方法
Jun 17 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
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
js预载入和JavaScript Image()对象使用介绍
2011/08/28 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
jQuery实现div横向拖拽排序的简单实例
2016/07/13 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
在实例中重学JavaScript事件循环
2020/12/03 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
Python3远程监控程序的实现方法
2019/07/15 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
python实现批量文件重命名
2019/10/31 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
丹麦优惠购物网站:PLUSSHOP
2019/03/24 全球购物
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
八年级音乐教学反思
2014/01/09 职场文书
工程师岗位职责规定
2014/02/26 职场文书
初中军训感想300字
2014/03/05 职场文书
个人自我鉴定总结
2014/03/25 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
2015年宣传部工作总结范文
2015/03/31 职场文书