浅谈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字符串的encode与decode研究心得乱码问题解决方法
Mar 23 Python
python3.3使用tkinter开发猜数字游戏示例
Mar 14 Python
python中defaultdict的用法详解
Jun 07 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
Nov 17 Python
python获取网页中所有图片并筛选指定分辨率的方法
Mar 31 Python
使用python对excle和json互相转换的示例
Oct 23 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
详解pandas的外部数据导入与常用方法
May 01 Python
python自带tkinter库实现棋盘覆盖图形界面
Jul 17 Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
Mar 09 Python
tensorflow pb to tflite 精度下降详解
May 25 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 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
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
PHP文件操作详解
2016/12/30 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
JavaScript面向对象之Prototypes和继承
2012/07/12 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
jquery 延迟执行实例介绍
2013/08/20 Javascript
通过js简单实现将一个文本内容转译成加密文本
2013/10/22 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
2016/12/22 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
AngularJS与BootStrap模仿百度分页的示例代码
2018/05/23 Javascript
详解NodeJs项目 CentOs linux服务器线上部署
2019/09/16 NodeJs
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
在vue中使用image-webpack-loader实例
2020/11/12 Javascript
python 动态获取当前运行的类名和函数名的方法
2014/04/15 Python
Python os模块介绍
2014/11/30 Python
分享Python开发中要注意的十个小贴士
2016/08/30 Python
Python 从相对路径下import的方法
2018/12/04 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
你对IPv6了解程度
2016/02/09 面试题
高中语文教学反思
2014/01/16 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
考核工作实施方案
2014/03/30 职场文书
文明城市创建标语
2014/06/16 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
预备党员自我评价范文
2015/03/04 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
通知格式
2015/04/27 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
python神经网络 使用Keras构建RNN训练
2022/05/04 Python