Python 之 numpy 和 tensorflow 中的各种乘法(点乘和矩阵乘)
点乘和矩阵乘的区别:
1)点乘(即“ * ”) ---- 各个矩阵对应元素做乘法
若 w 为 m* 的矩阵,x 为 m*n 的矩阵,那么通过点乘结果就会得到一个 m*n 的矩阵。
若 w 为 m*n 的矩阵,x 为 m*n 的矩阵,那么通过点乘结果就会得到一个 m*n 的矩阵。
w的列数只能为 1 或 与x的列数相等(即n),w的行数与x的行数相等 才能进行乘法运算。
2)矩阵乘 ---- 按照矩阵乘法规则做运算
若 w 为 m*p 的矩阵,x 为 p*n 的矩阵,那么通过矩阵相乘结果就会得到一个 m*n 的矩阵。
只有 w 的列数 == x的行数 时,才能进行乘法运算
1. numpy
1)点乘
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
运行结果如下图:
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)
运行结果如下:
2. tensorflow
1)点乘
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)
运行结果如下:
aaarticlea/png;base64,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" alt="" />
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)
运行结果如下:
Python 之 numpy 和 tensorflow 中的各种乘法(点乘和矩阵乘)的更多相关文章
- numpy 和 tensorflow 中的各种乘法(点乘和矩阵乘)
点乘和矩阵乘的区别: 1)点乘(即" * ") ---- 各个矩阵对应元素做乘法 若 w 为 m*1 的矩阵,x 为 m*n 的矩阵,那么通过点乘结果就会得到一个 m*n 的矩阵. ...
- numpy和tensorflow中的广播机制
广播的引出 numpy两个数组的相加.相减以及相乘都是对应元素之间的操作. import numpy as np x = np.array([[2,2,3],[1,2,3]]) y = np.arra ...
- numpy 和tensorflow 中的乘法
矩阵乘法:tf.matmul() np.dot() ,@ 逐元素乘法:tf.multiply() np.multiply()
- Python:numpy中的tile函数
在学习机器学习实教程时,实现KNN算法的代码中用到了numpy的tile函数,因此对该函数进行了一番学习: tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复 ...
- numpy函数库中一些经常使用函数的记录
##numpy函数库中一些经常使用函数的记录 近期才開始接触python,python中为我们提供了大量的库,不太熟悉.因此在<机器学习实战>的学习中,对遇到的一些函数的使用方法进行记录. ...
- numpy函数库中一些常用函数的记录
##numpy函数库中一些常用函数的记录 最近才开始接触Python,python中为我们提供了大量的库,不太熟悉,因此在<机器学习实战>的学习中,对遇到的一些函数的用法进行记录. (1) ...
- python/numpy/tensorflow中,对矩阵行列操作,下标是怎么回事儿?
Python中的list/tuple,numpy中的ndarrray与tensorflow中的tensor. 用python中list/tuple理解,仅仅是从内存角度理解一个序列数据,而非数学中标量 ...
- [开发技巧]·TensorFlow中numpy与tensor数据相互转化
[开发技巧]·TensorFlow中numpy与tensor数据相互转化 个人主页–> https://xiaosongshine.github.io/ - 问题描述 在我们使用TensorFl ...
- Mathab和Python的numpy中的数组维度
Matlab和Python的numpy在维度索引方面的不同点: 1.索引的起始点不同:Matlab起始位置的索引为1,Python为0. 2.索引的括号不同:Matlab中元素可以通过小括号表示索引, ...
随机推荐
- stm32 ADC使用方法
void Adc_Init(void) { ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_AP ...
- ACMG遗传变异分类标准与指南
2015年,美国权威机构——美国医学遗传学与基因组学学会(ACMG)编写和发布了<ACMG遗传变异分类标准与指南>.为帮助我国医疗工作者和遗传咨询从业者更好地理解ACMG遗传变异分类标准. ...
- 【Golang 接口自动化00】为什么要用Golang做自动化?
为什么使用Golang做自动化 顺应公司的趋势学习了Golang之后,因为没有开发那么多的时间和项目来实践,怕步此前学习Java缺少练习遗忘殆尽的后尘,决定利用工作之余的时间把此前用Python的写的 ...
- CSS——图片替换方法:Fahrner图片替换法(FIR)
Html: <h1 id="fir"><span>Fahrner Image Replacement</span></h1> CSS ...
- dat.gui.js
].appendChild(b)},inject:function(e,a){a=a||document;].appendChild(b)}}}(); dat.utils.common=functio ...
- Lua中数组的学习
--数组的大小是不固定的 --一维数组的逻辑结构是线性表索引从1开始 array1 = {"Lua", "Tutorial"} , do print(array ...
- PHP函数总结 (三)
<?php/** * PHP变量的范围 * 1.局部变量(内部变量) * 在函数内部声明的变量,作用域仅限于函数内部,参数也是局部变量:执行完毕后函数内部的变量都被释放 * 若需要使用函数内的变 ...
- 2-16 MySQL字段约束-索引-外键
一:字段修饰符 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table worker(id int not null,name varchar(8) ...
- Python并行(parallel)之谈
简介 可以先看看并发Concurrent与并行Parallel的区别 在谈并行前,头脑中总会浮出多线程.多进程.线程/进程同步.线程/进程通信等词语. 那为什么需要同步.通信,它们之间的作用是怎样的呢 ...
- python-day39--数据库
1.什么是数据:描述事物的特征,提取对自己有用的信息 称之为数据 2..什么是数据库: 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的 为什么要用数据库: ...