浅谈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时间戳与时间字符串互相转换实例代码
Nov 28 Python
20招让你的Python飞起来!
Sep 27 Python
python中正则的使用指南
Dec 04 Python
python实现教务管理系统
Mar 12 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
Apr 28 Python
python traceback捕获并打印异常的方法
Aug 31 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
Python Pandas 对列/行进行选择,增加,删除操作
May 17 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
Python中glob库实现文件名的匹配
Jun 18 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 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
PHP持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
15个jquery常用方法、小技巧分享
2015/01/13 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
简单的编程0基础下Python入门指引
2015/04/01 Python
简单介绍Python中的try和finally和with方法
2015/05/05 Python
Python中拆分字符串的操作方法
2019/07/23 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
python 基于opencv实现高斯平滑
2020/12/18 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
经销商会议欢迎词
2014/01/11 职场文书
自我评价的范文
2014/02/02 职场文书
质检部经理岗位职责
2014/02/19 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
2016大学自主招生推荐信范文
2015/03/23 职场文书
装配车间主任岗位职责
2015/04/08 职场文书