Python基础
- Python是一种开源的、简单易记、可以自由使用编程语言。
- 深度学习将使用NumPy和Matplotlib这两种外部库
- Python有“解释器”和“脚本文件”两种运行模式
- Python能够将一系列处理集成为函数或类等模块
- NumPy中有很多用于操作多维数组的便捷方法
类与对象
变量是挂在对象身上的标签
class Man:
#定义了一个新类Man,类Man生成了实例(对象)m
#类Man的构造函数(初始化方法会接收参数name)
#参数name初始化实例变量self.name(实例变量是存储在各个实例中的变量)
def __init__(self, name):
self.name = name #通过在self后面添加属性名来生成或访问实例变量
print('Initialized!')
def hello(self):
print("Hello" + self.name +'!')
def goodbye(self):
print('Good-bye' + self.name + '!')
m = Man('David')
m.hello()
m.goodbye()
NumPy基础
import numpy as np
- NumPy的 N 维数组(矩阵)
A = np.array([1,2] , [3,4])
A.array() #查看矩阵的形状
A = np.dtype() #查看矩阵元素的数据类型
- 数组和矩阵的计算工具
- 关于array类型和matrix类型
Numpy中两大重要类型array类型(N维数组ndarray)和矩阵类型matrix是很多基于Numpy数值计算的基础;
Numpy中最重要的数据结构就是ndarry,简写为array, 即N维数组;matrix也是一种array,只不过是维数为2的特殊array,matrix的维数是固定的,这点和一般array显著不同
即便加减乘除各种运算,matrix的维数不会发生变化,而array在运算时特别是归约时维数会发生变化,一句话,matrix的维数永远是
- 二者之间的转化,array转matrix用np.asmatrix或者np.matrix,matrix转array用np.asarray或者matrix的A属性
- 行向量或者列向量对应的array和matrix的实际维数
- 广播(broadcast)
在np乘法中,标量被当作是由相同元素组成的的 N 维数组,以便进行和数组进行算术运算
广播的例子:标量10被当作2 × 2的矩阵
- 访问元素
X = np.array([51,55], [14,19], [0,4])
X[0] #访问第0行元素 -> OUTPUT:array([51,55])
X[0][1] #访问(0,1)元素 -> OUTPUT:55
#遍历数组中的元素
for row in X:
print(row)
X = X.flatten()#将X转换为一维数组 - > OUTPUT:[51 55 14 19 0 4]
NumPy多维数组的运算
此部分知识将在神经网络中应用.
- 矩阵的点积(乘积)
np.dot(A, B) #A和B的顺序影响结果
在多维数组的点积运算中,两个矩阵对应维度的元素必须一致.
在矩阵的点积运算中,对应维度的元素个数要保持一致
Matplotilb
- 安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib
- 导入库
import numpy as np
import matplotlib.pyplot as plt
- 绘制sin函数曲线
#生成数据
x = np.arange(0, 6, 0.1) #以0.1为单位,生成0到6的数据
y = np.sin(x)
#绘制图形
plt.plot(x, y)
plt.xlabel("在此处输入x轴标签")
plt.ylabel("在此处输入y轴标签")
plt.title("在此处输入图像标题")
plt.show()
- 方法查阅表
pyplot函数 | 功能 |
---|---|
plt.ylim(start, stop, step) | 指定y轴的范围 |
plt.show() | 显示绘制的图像 |
plt.plot(x ,y) | 绘制折线图 |
plt.xticks() | 设置x轴刻度 |