注:本文所有深度学习内容都是基于PyTorch,PyTorch作为一个开源的深度学习框架,具有可以动态计算图、拥有简洁易用的API、支持GPU加速等特点,在计算机视觉、自然语言处理、强化学习等方面有广泛应用。
使用matplotlib绘图:
import matplotlib.pyplot as plt
fig, ax=plt.subplots() #创建一个图形窗口
plt.show() #不绘制任何内容,直接显示空图
Numpy:
在机器学习和深度学习中,图像、声音、文本等输入数据最终都要转换为数组或矩阵。如何有效地进行数组和矩阵的运算?这就需要充分利用Numpy。Numpy是数据科学的通用语言,而且与PyTorch关系非常密切,它是科学计算、深度学习的基石。尤其对PyTorch而言,其重要性更加明显。PyTorch中的Tensor与Numpy非常相似,它们之间可以非常方便地进行转换,掌握Numpy是学好PyTorch的重要基础。
NumPy提供了两种基本的对象:ndarray(N-dimensional array object)和ufunc(universal function object)。ndarray是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。
生成NumPy数组:
NumPy是Python的外部库,不在标准库中。因此,若要使用它,需要先导入NumPy。如何生成ndarray呢?这里我们介绍生成ndarray的几种方式,如从已有数据中创建、利用random创建、创建特殊多维数组、使用arange函数等。
import numpy as np
print(np.array([1, 2, 3])) #使用np.array()函数创建了一个一维的numpy数组,包含元素1、2、3,并打印这个数组。输出结果类似于[1 2 3]
print(np.zeros((10, 100, 1000))) #使用np.zeros()函数创建了一个三维的numpy数组,形状为(10, 100, 1000),并且所有元素都初始化为0,然后打印这个数组。输出结果是一个由0组成的三维数组。这个数组可以用于存储数据或者作为初始值进行进一步的计算。例如,在某些算法中,可以先创建一个全零的数组,然后逐步填充数据