优达学城深度学习之二——矩阵数学和Numpy复习

简介: 优达学城深度学习之二——矩阵数学和Numpy复习

PS:由于第一篇介绍Anaconda的文章不能申请原创标志故发表不了,所以先发表第二篇文章,第一篇会改一些再发表出来。


一、数据维度


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

8ccb4fa22f708782c5a3473ce69812e9.jpg

二、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。


三、元素级矩阵运算


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

cd5d491c8b683777cc42318fc06c873d.jpg

Numpy运算:相加时

import numpy as np
values=[1,2,3,4,5]
values=np.array(values)+5
# 现在 values 是包含 [6,7,8,9,10] 的一个 ndarray


相关文章
|
7月前
|
机器学习/深度学习 PyTorch TensorFlow
[深度学习入门]Numpy基础(上)
[深度学习入门]Numpy基础(上)
|
8天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
Python深度学习基于Tensorflow(1)Numpy基础
Python深度学习基于Tensorflow(1)Numpy基础
26 5
|
8天前
|
机器学习/深度学习 存储 人工智能
深度学习500问——Chapter01:数学基础
深度学习500问——Chapter01:数学基础
56 0
深度学习500问——Chapter01:数学基础
|
8月前
|
存储 数据挖掘 索引
提升数学效率:导航 Numpy 数组操作
在本文中,我们将发现用于数据分析的著名且有用的 Python 库之一 NumPy 的效力,其中存储元素和执行操作的主要数据结构是一个多维数组。我们将看到这个动态库如何使复杂的数学任务在空间和时间复杂度方面变得高效。此外,了解如何通过轻松操作更轻松地进行数据操作和转换
59 0
|
8天前
|
机器学习/深度学习 PyTorch TensorFlow
JAX: 快如 PyTorch,简单如 NumPy - 深度学习与数据科学
JAX: 快如 PyTorch,简单如 NumPy - 深度学习与数据科学
53 0
|
8天前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch深度学习基础之Tensor对象及其应用的讲解及实战(附源码 简单易懂 包括分段 映射 矩阵乘法 随机数等等)
PyTorch深度学习基础之Tensor对象及其应用的讲解及实战(附源码 简单易懂 包括分段 映射 矩阵乘法 随机数等等)
37 1
|
7月前
|
机器学习/深度学习 PyTorch 算法框架/工具
[深度学习入门]Numpy基础(下)
[深度学习入门]Numpy基础(下)
|
8月前
|
机器学习/深度学习 Java 算法框架/工具
Java深度学习库DJL实现Python的NumPy
Java深度学习库DJL实现Python的NumPy
179 1