首页 > 编程语言 > 详细

python中numpy库的一些使用

时间:2019-10-05 09:53:33      阅读:103      评论:0      收藏:0      [点我收藏+]

想不用第三方库实现点深度学习的基础部分,发现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)

顺便,np.dot为numpy库的矩阵乘法。

 

2.np.reshape(-1,1)中的-1值

当不知道有多少或者懒得计算的时候,使用-1替代行值或列值,reshape会自动计算并正确转换。

 

(持续更新吧)

python中numpy库的一些使用

原文:https://www.cnblogs.com/lingchuL/p/11623937.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!