本文为深度学习入门:基于Python的理论与实现的学习笔记,由于笔者已有matalb、c\c++,java相关语言基础,故只记录不同之处需要注意的地方,供给有其他有语言基础,没学过python但研究方向为机器学习等分支方向的同学参考。
第一章Python入门
1.2.2使用的外部库
Numpy是用于数值计算的库,提供了很多高级的数学算法和便利的数学(矩阵)操作方法。Matplotlib是用来画图的库。使用Matplotlib能将实验结果可视化,并在视觉上确认深度学习运行期间的数据。1.3.4列表
Python索引左闭右开
eg a[0:2] #索引0~2的元素(不包括2)的元素
索引0对应第一个元素
索引-1对应最后一个元素
1.3.5字典
字典以键值对形式存储数据 {‘height’:180}
Python使用空白字符表示缩进。每缩进一次,使用四个空白字符
1.3.8 for语句
循环处理时可以使用for语句
语句结构 for i in [1,2,3]:
1.3.9 函数
将一连串处理定义为函数
>>>def hello():
print(“Hello world!”)
>>>hello()
Hello World!
>>>def hello(object):
print(“Hello”+object+”!”)
>>>hello(“cat”)
Hello cat!
1.4.2 类
Python用class关键字来定义类,类要遵循下述格式(模板)
Class 类名:
def __init__(self,参数,…): #构造函数
…
def 方法名1(self,参数,…): #方法1
…
def 方法名2(self,参数,…): #方法2
__init__方法是进行初始化的方法,也称为构造函数,只在生成类的实例时被调用一次。
在方法的一个参数中明确地写入表示自身(自身的实例)的self。
实例变量时存储在各个实例的变量。
self.xxx,通过在self后面添加属性名来生成或访问实例变量。
1.5.1 导入NumPy
>>>import numpy as np
Python中使用import语句来导入库。import numpy as np,将numpy作为np导入,NumPy相关的方法均可通过np调用。
1.5.2 生成NumPy数组
生成NumPy数组,需要使用np,array()方法。np.array()接收Python列表作为参数,生成NumPy数组(numpy.ndarray)
>>> x = np.array([1.0,2.0,3.0])
>>> print(x)
[1. 2. 3.]
>>>type(x)
<class ‘numpy.ndarray’>
1.5.3 NumPy的算术运算
当x和y的元素个数相同时,对各个元素进行算术运算。 “对应元素的”称为element-wise
也可以和单一的数值(标量)组合起来进行运算,称为广播
1.5.4 NumPy的N维数组
>>> A = np.array([[1,2],[3,4]])
>>> print(A)
[[1 2]
[3 4]]
>>>A.shape
(2,2)
>>>A.dtype
dtype(‘int64’)
矩阵的形状可以通过shape查看,矩阵元素的数据类型可以通过dtype查看。
NumPy 数组(np.array)可以生成N维数组,即可以生成一维数组、二维数组、三维数组等任意维数的数组。数学上将一维数组称为向量,将二维数组称为矩阵。另外,可以将一般化之后的向量或矩阵等统称为张量(tensor)。本书基本上将二维数组称为“矩阵”,将三维数组及三维以上的数组称为“张量”或“多维数组”。
1.5.5广播
当两个数组形状并不相同时,我们可以通过扩展数组的方法来实现相加,相减,相乘等操作。
1.6.1绘制简单图形
可以使用matplotlib的pyplot模块绘制图形
Import matplotlib.pyplot as plt
将数据传给plt.plot,然后绘制图形。通过plt.show()显示图形。
1.6.2 pyplot的功能
# 绘制图形
plt.plot(x, y1, label="sin")
plt.plot(x, y2, linestyle = "--", label="cos") # 用虚线绘制
plt.xlabel("x") # x轴标签
plt.ylabel("y") # y轴标签
plt.title('sin & cos') # 标题
plt.legend()
plt.show()
1.6.3 显示图像
Pyplot还提供了用于显示图像的方法imshow()。可以用matplotlib.image的模块的imread()方法读入图像。
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread('lena.png') # 读入图像(设定合适的路径!)
plt.imshow(img)
plt.show()
本章只介绍了关于Python的最低限度的知识,想进一步了解Python的读者,可以参考下面这些图书。首先推荐《Python 语言及其应用》 [1] 一书。这是一本详细介绍从Python 编程的基础到应用的实践性的入门书。关于NumPy,《利用Python进行数据分析》 [2] 一书中进行了简单易懂的总结。此外,“Scipy Lecture Notes”[3] 这个网站上也有以科学计算为主题的NumPy和Matplotlib 的详细介绍。
Python / NumPy
[1] Bill Lubanovic. Introducing PythonA. O’Reilly Media, .
[2] Wes McKinney. Python for Data AnalysisB. O’Reilly Media.
[3] Scipy Lecture Notes.
如果觉得《深度学习入门:基于Python的理论与实现——第一章Python入门》对你有帮助,请点赞、收藏,并留下你的观点哦!