python中numpy库的一些使用
想不用第三方库实现点深度学习的基础部分,发现numpy真的好难(笑),在此做点遇到的函数的笔记
惯例官方文档:https://docs.scipy.org/doc/numpy-1.16.1/reference/,但真的属实弟弟排版。
以下都以import numpy as np为前提。
1. np.zip()作用
该函数以多个可迭代的类型数据为输入,如字典、列表和元组,从这些迭代类型中各取其一个值,组成新的一个迭代类型。如输入两个1x2矩阵(a,b)和(c,d),则会从两个矩阵中分别同时抽出第一个和第二个组合成一个新的矩阵[(a,c),(b,d)]。但python3中返回的是zip类型,可用list()将之转换为列表。
这个函数虽然看起来非常鸡肋,但是其实异常好用!
在深度学习中需要频繁地计算带偏置值的输入加权和并将其作为激活函数的输入,即σ(w*a+b),此时可以将偏置矩阵和权值矩阵用zip组合起来,代码形式就会如下简便很多!
假设已有偏执矩阵biases和权值矩阵weights并使用sigmoid作为激活函数,单层神经元的前向传播可写为:
for b,w in zip(weights.biases):
output=sigmoid(np.dot(w,output)+b)
2.numpy库的各种矩阵乘法
np.dot(A,B) - 同线性代数中的矩阵乘法(当所给AB均为向量时,按矩阵乘法来看该式就自动退化为两向量内积)
np.multiply(A,B) - 同结构矩阵元素对应相乘,非常常用且实用
单独的一个星号‘ * ’,如A*B - 若所给AB为np.array类型,该式会给出同np.multiply的元素对应相乘类型;若所给AB为np.matrix类型,该式会给出同np.dot的矩阵相乘结果。其实就是万恶的重载差别。可能因为multiply这词要打的字实在是太多了吧。
2.np.reshape(-1,1)中的-1值
当不知道有多少或者懒得计算的时候,使用-1替代行值或列值,reshape会自动计算并正确转换。
(持续更新吧)
python中numpy库的一些使用的更多相关文章
- python中numpy库ndarray多维数组的的运算:np.abs(x)、np.sqrt(x)、np.modf(x)等
numpy库提供非常便捷的数组运算,方便数据的处理. 1.数组与标量之间可直接进行运算 In [45]: aOut[45]:array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ ...
- Python中Numpy ndarray的使用
本文主讲Python中Numpy数组的类型.全0全1数组的生成.随机数组.数组操作.矩阵的简单运算.矩阵的数学运算. 尽管可以用python中list嵌套来模拟矩阵,但使用Numpy库更方便. 定义数 ...
- Python中Numpy及Matplotlib使用
Python中Numpy及Matplotlib使用 1. Jupyter Notebooks 作为小白,我现在使用的python编辑器是Jupyter Notebook,非常的好用,推荐!!! 你可以 ...
- 基于Python中numpy数组的合并实例讲解
基于Python中numpy数组的合并实例讲解 下面小编就为大家分享一篇基于Python中numpy数组的合并实例讲解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 Python中n ...
- python中requests库使用方法详解
目录 python中requests库使用方法详解 官方文档 什么是Requests 安装Requests库 基本的GET请求 带参数的GET请求 解析json 添加headers 基本POST请求 ...
- Python中第三方库Requests库的高级用法详解
Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...
- python中numpy矩阵运算操作大全(非常全)!
python中numpy矩阵运算操作大全(非常全) //2019.07.10晚python矩阵运算大全1.矩阵的输出形式:对于任何一个矩阵,python输出的模板是:import numpy as n ...
- Python的numpy库下的几个小函数的用法
numpy库是Python进行数据分析和矩阵运算的一个非常重要的库,可以说numpy让Python有了matlab的味道 本文主要介绍几个numpy库下的小函数. 1.mat函数 mat函数可以将目标 ...
- Python数据分析numpy库
1.简介 Numpy库是进行数据分析的基础库,panda库就是基于Numpy库的,在计算多维数组与大型数组方面使用最广,还提供多个函数操作起来效率也高 2.Numpy库的安装 linux(Ubuntu ...
随机推荐
- tree 中文(转)
原文:http://www.dutor.net/index.php/2009/05/tree-cn-code/ 简介: tree命令可以以目录树的形式显示指定(默认显示这个文件系统)目录的所有文件夹和 ...
- HarmonyOS分布式任务调度开发之--你必须知道的bundleName
背景 最近基于HarmonyOS在写一个通讯录的项目,已经完成了一个java版本的通讯录,通讯录数据全部存储在sqlite数据库中.现在在着手写一个JS版本的通讯录,这时候关于JS版本中数据的读取,我 ...
- Tomca7t服务器 配置HTTP和HTTPS 同时访问
(首先你要有 ssl 证书 ,我是阿里的 ) 查看申请ssl证书(https://www.cnblogs.com/lxf-mw/p/14261303.html) 一.下载 tomcat证书(两个文件) ...
- 【高精度】计算2的N次方
题目相关 [题目描述] 任意给定一个正整数N(N≤100),计算2的n次方的值. [输入] 输入一个正整数N. [输出] 输出2的N次方的值. [输入样例] 5 [输出样例] 32 分析 本题考察的是 ...
- RAC上的DG搭建
准备工作 修改rman_backup这个文件的所有者和所属组,修改为oracle用户的oinstall组的文件 #chown –R oracle:oinstall /rman_backup/ 主库和备 ...
- 检查Mysql主从状态
.检查MySQL主从同步状态 #!/bin/bash USER=bak PASSWD=123456 IO_SQL_STATUS=$(mysql -u$USER -p$PASSWD -e show s ...
- 【9k字+】第二篇:进阶:掌握 Redis 的一些进阶操作(Linux环境)
九 Redis 常用配置文件详解 能够合理的查看,以及理解修改配置文件,能帮助我们更好的使用 Redis,下面按照 Redis 配置文件的顺序依次往下讲 1k 和 1kb,1m 和 1mb .1g 和 ...
- linux在终端中按下键盘立马反应
想在终端中做个小应用,按下上下左右键能立刻作出反应. 测试程序见下: 1 #include <stdio.h> 2 #include <unistd.h> 3 #include ...
- 安卓开发视频教程!想找工作的你还不看这份资料就晚了!Android校招面试指南
前言 准备面试其实已经准备了挺久了,当时打算面试准备了差不多以后,跟公司谈谈涨薪的事情,谈不拢的话,就年后直接找其他的公司.谁想到婚假还没休完,老板就在公司宣布了撤出上海的决定,愿意去深圳的就去,不愿 ...
- There are only two hard things in Computer Science: cache invalidation and naming things.
TwoHardThings https://martinfowler.com/bliki/TwoHardThings.html https://github.com/cch123/golang-not ...