深度学习入门:基于Python的理论与实现——第一章Python入门

本文为深度学习入门:基于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)

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广播

当两个数组形状并不相同时,我们可以通过扩展数组的方法来实现相加,相减,相乘等操作。

深度学习入门:基于Python的理论与实现——第一章Python入门_第1张图片

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, 2014.

[2] Wes McKinney. Python for Data AnalysisB. O’Reilly Media.

[3] Scipy Lecture Notes.

你可能感兴趣的:(python,深度学习,matplotlib)