前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Theano 中文文档 0.9 - 7.1.2 NumPy新手

Theano 中文文档 0.9 - 7.1.2 NumPy新手

作者头像
ApacheCN_飞龙
发布2022-12-01 16:30:13
3190
发布2022-12-01 16:30:13
举报
文章被收录于专栏:信数据得永生

7.1.2 NumPy新手

译者:Python 文档协作翻译小组,原文:NumPy refresher。 本文以 CC BY-NC-SA 4.0 协议发布,转载请保留作者署名和文章出处。

这里有一些NumPy的快速指南:

机器学习的矩阵惯例

行是水平的,列是垂直的。每一行都是一个样本。因此,inputs[10,5]是10个样本的矩阵,其中每个样本具有维度5。如果这是神经网络的输入,则从输入到第一个隐藏层的权重将表示大小(5, #hid)的矩阵。

考虑这个数组:

代码语言:javascript
复制
>>> numpy.asarray([[1., 2], [3, 4], [5, 6]])
array([[ 1.,  2.],
 [ 3.,  4.],
 [ 5.,  6.]])
>>> numpy.asarray([[1., 2], [3, 4], [5, 6]]).shape
(3, 2)

这是3×2矩阵,即有3行和2列。

要访问第3行(#2行)和第1列(#0列)中的元素:

代码语言:javascript
复制
>>> numpy.asarray([[1., 2], [3, 4], [5, 6]])[2, 0]
5.0

要记住这一点,我们从左到右、从上到下读取,所以连续的元素是一行。也就是说,有3行和2列。

Broadcasting

Numpy在算术运算期间对不同形状的数组进行broadcasting。这通常意味着较小的数组(或标量)被broadcasted到较大的数组,以让它们具有兼容的形状。下面的示例演示broadcastaing的一个实例:

代码语言:javascript
复制
>>> a = numpy.asarray([1.0, 2.0, 3.0])
>>> b = 2.0
>>> a * b
array([ 2.,  4.,  6.])

在这种情况下,这里较小的数组b(实际上是标量,其工作原理类似于一个0维数组)在乘法过程中被broadcasted到与a相同的大小。这个技巧通常用于简化表达式的写法。有关broadcasting的更多详情,请参见numpy用户指南

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 7.1.2 NumPy新手
    • 机器学习的矩阵惯例
      • Broadcasting
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档