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 ...
随机推荐
- CentOS8_在线安装_网络源_网络镜像源填写格式_以及其他笔记
CentOS8_在线安装_网络源_网络镜像源填写格式_以及其他笔记 转载注明来源: 本文链接 来自osnosn的博客,写于 2020-10-1. 参考: Centos8.0.1905 在线安装源选择 ...
- ethernet
OSI参考模型 简化相关网络操作:提供不同厂商之间的互联 应用层 为应用程序提供服务 HTTP Telnet 表示层 数据格式化,加密.解密 ASCII EBCDIC JPEG 会话层 建立.维护.管 ...
- JDK1.7-HashMap原理
JDK1.7 HashMap 如何在源码上添加自己的注释 打开jdk下载位置 解压src文件夹,打开idea,ctrl+shift+alt+s打开项目配置 选择jdk版本1.7,然后点击Sourcep ...
- 【Redis3.0.x】实战案例
Redis3.0.x 实战案例 简介 <Redis实战>的学习笔记和总结. 书籍链接 初识 Redis Redis 简介 Redis 是一个速度非常快的键值对存储数据库,它可以存储键和五种 ...
- 机器学习笔记·adaboost
一.算法简介 Adaboost算法是一种集成算法,所谓集成算法就是将多个弱的分类器组合在一起变成一个强的分类器.弱分类器通常是指分类效果比随机分类稍微好一点的分类器.就像我们在做一个重要决定的时候,通 ...
- ubuntu 上搭建 go的开发环境 vscode
原文链接: https://astaxie.gitbooks.io/build-web-application-with-golang/zh/01.4.html 原本我是在windows下进行go的环 ...
- explain select * from xuehao;
mysql> explain select * from xuehao;+----+-------------+--------+------+---------------+------+-- ...
- oracle常用hint添加
1.视图添加索引 /* Formatted on 2020/1/6 下午 04:46:37 (QP5 v5.163.1008.3004) */ SELECT /*+index(VIEW_NAME.TA ...
- powershell中的cmdlet命令
Add-Computer 向域或工作组中添加计算机. Add-Content 向指定的项中添加内容,如向文件中添加字词. Add-History 向会话历史记录追加条目. Add-Member 向 W ...
- SAP 修改数据元素 注意事项
在修改数据元素的时候,通常要注意一下几点: 1.在修改完数据元素后,如果激活不成功,那么就要通过SE14进入数据库实用程序,在对象名处输入数据元素相关联的表的名称 下面词典对象选择表,然后点击编辑,处 ...