numpy合并不同维度矩阵_优达学城深度学习之二——矩阵数学和Numpy复习

fc7f734ac91c3c0b756bc84107adfd6d.png

一、数据维度

维度(scalar),张量(Tensor)。3表示零维张量,[1 2 3]表示一维张量,矩阵表示二维张量,任何大于二维张量就叫张量(Tensor)。如下图所示:

5dfc717371f4597b6e2ca08c2e1ea9a3.png

二、Numpy简介

2.1、NumPy 中处理数字的常见方式是通过 ndarray 对象。它们与 Python 列表相似,但是可以有任意数量的维度。而且,ndarray 支持快速的数学运算,这正是我们想要的。由于它可以存储任意数量的维度,你可以使用 ndarray 来表示我们之前提到的任意数据类型:标量、向量、矩阵或张量。

2.2、NumPy 中的标量 比 Python 中的标量类型更多。不像 Python 只有基本类型 int、float 等,NumPy 可以让你指定有符号和无符号的类型以及不同的大小。因此,除了 Python 的 int,你可以使用 uint8、int8、uint16、int16 等类型。

这些类型很重要,因为你所创建的每个对象(向量、矩阵、张量)最终都会存储标量。而且,当你创建 NumPy 数组时,可以指定类型 - 但是数组中的每一项必须具有相同的类型。在这方面,NumPy 数组更像是 C 数组,而非 Python 列表。

如果要创建一个包含标量的 NumPy 数组,方法是将值传递给 NumPy 的 array 函数,如下所示:

s=np.array(5)

不过你仍然可以在 ndarray、NumPy 标量和普通的 Python 标量之间执行数学运算。

2.3、张量与向量和矩阵一样,但张量可以有更多的维度。例如,要创建一个 3x3x2x1 的张量,你可以这样做:

t = np.array([[[[1],[2]],[[3],[4]],[[5],[6]]],[[[7],[8]],

[[9],[10]],[[11],[12]]],[[[13],[14]],[[15],[16]],[[17],[17]]]]),而 t.shape 会返回 (3, 3, 2, 1)。

你可以像在矩阵中一样访问其中的项目,但需要使用更多的索引。所以 t[2][1][1][0] 将返回 16。

三、元素级矩阵运算

跟标量计算一样,如下图:

5dfc717371f4597b6e2ca08c2e1ea9a3.png

Numpy运算:相加时

import numpy as np
values=[1,2,3,4,5]
values=np.array(values)+5
# 现在 values 是包含 [6,7,8,9,10] 的一个 ndarray
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值