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中元素可以通过小括号表示索引, ...
随机推荐
- 翻译header
!/usr/bin/env pyhton --coding:utf-8-- import urllib.request import urllib.parse import os,sys import ...
- GATK--使用转载
http://blog.sciencenet.cn/blog-1469385-819498.html 文章目录 一.准备工作 二.流程概览 三.流程 首先说说GATK可以做什么.它主要用于从seque ...
- React Native控件之Picker
1. import React,{Component}from 'react'; import { AppRegistry, StyleSheet, Text, View, Picker, } fro ...
- ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) D. The Door Problem 2-SAT
题目链接:http://codeforces.com/contest/776/problem/D D. The Door Problem time limit per test 2 seconds m ...
- windows 命令行中使用winrar
加入环境变量即可 我的电脑右键属性->高级->环境变量->系统变量->编辑 变量名:path 变量值:C:/Program Files/WinRAR; --变量值为WinRAR ...
- JavaMail直接发送邮件
一般用JavaMail发送邮件都需要先登录到外部smtp服务器(如smtp.163.com) 二次转发,其实只要得到域名的邮件交换服务器地址(MX)就可以直接将邮件发出 这里用到了dnsjava(下载 ...
- LeetCode--141--环形链表
问题描述: 给定一个链表,判断链表中是否有环. 思路:用快的指针追慢的指针,只要有圈,一定能追上. 错误: class Solution(object): def hasCycle(self, hea ...
- 20170112xlVBA查询SQL
Sub NextSeven_CodeFrame() '应用程序设置 Application.ScreenUpdating = False Application.DisplayAlerts = Fal ...
- CF1082G Petya and Graph
题意 定义图权 = 图中边权总和 - 图中点权总和(空图的图权=0),求 n 个点 m 条边的无向图最大权子图. 把边看成点,这个点与两个原图中的点连边.直接最小割求最大闭合子图即可.
- 『Numpy学习指南』排序&索引&抽取函数介绍
排序: numpy.lexsort(): numpy.lexsort()是个排字典序函数,因为很有意思,感觉也蛮有用的,所以单独列出来讲一下: 强调一点,本函数只接受一个参数! import nump ...