深度学习入门:基于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)
<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, 2014.
[2] Wes McKinney. Python for Data AnalysisB. O’Reilly Media.
[3] Scipy Lecture Notes.
深度学习入门:基于Python的理论与实现——第一章Python入门相关推荐
- [转载] 《python程序设计应用教程》第一章 python语言概述
参考链接: Python语言的优势和应用 第一章 python语言概述 1.1 python语言简介 ① 众多的开源的科学计算软件包都提供了python的调用接口,例如:计算机视觉库OpenCV.三维 ...
- python实现胶囊网络_深度学习精要之CapsuleNets理论与实践(附Python代码)
摘要: 本文对胶囊网络进行了非技术性的简要概括,分析了其两个重要属性,之后针对MNIST手写体数据集上验证多层感知机.卷积神经网络以及胶囊网络的性能. 神经网络于上世纪50年代提出,直到最近十年里才得 ...
- 用python计算复利计算器_第一章 Python简介
全览: Python的大部分基本特性:如变量.表达式.控制流.函数.生成器.类和输入\输出: Python3和Python2.6的区别:大多数与打印和I/O有关: ------------------ ...
- python dict 排序原理_第一章Python数据结构和算法(字典排序)
字典排序 问题 你想创建一个字典,并且在迭代或序列化这个字典的时候能够控制元素的顺序. 解决方案 为了能控制一个字典中元素的顺序,你可以使用 collections 模块中的OrderedDict 类 ...
- 学习笔记--深度学习入门--基于Pyrhon的理论与实现--[日]斋藤康毅 -- 持续更新中
关于这本 "神作" 的简介 这本书上市不到 2 年,就已经印刷 10 万册了.日本人口数量不大,但是却有这么多人读过这本书,况且它不是一本写真集,是实实在在的技术书,让人觉得很不可 ...
- Python深度学习:基于TensorFlow
作者:吴茂贵,王冬,李涛,杨本法 出版社:机械工业出版社 品牌:机工出版 出版时间:2018-10-01 Python深度学习:基于TensorFlow
- Python深度学习:基于PyTorch [Deep Learning with Python and PyTorch]
作者:吴茂贵,郁明敏,杨本法,李涛,张粤磊 著 出版社:机械工业出版社 品牌:机工出版 出版时间:2019-11-01 Python深度学习:基于PyTorch [Deep Learning with ...
- 【深度学习】基于Torch的Python开源机器学习库PyTorch卷积神经网络
[深度学习]基于Torch的Python开源机器学习库PyTorch卷积神经网络 文章目录 1 CNN概述 2 PyTorch实现步骤2.1 加载数据2.2 CNN模型2.3 训练2.4 可视化训练 ...
- 【深度学习】基于Torch的Python开源机器学习库PyTorch回归
[深度学习]基于Torch的Python开源机器学习库PyTorch回归 文章目录1 torch.autograd 2 torch.nn.functional 3 详细的回归DEMO3.1 DATAS ...
- 【深度学习】基于Torch的Python开源机器学习库PyTorch概述
[深度学习]基于Torch的Python开源机器学习库PyTorch概述 文章目录 1 PyTorch简介 2 环境搭建 3 Hello world!3.1 Tensors (张量)3.2 操作 4 ...
最新文章
- yii2嵌入微信公众号支付
- php文件代码采用UTF-8编码的BOM问题---转自CSDN---十方地藏---http://blog.csdn.net/webdesman...
- Java多线程之synchronized(二)
- [分享]Host文件的原理解释及应用说明
- 防止System.exit调用
- 永无止境_永无止境地死:
- 腾讯云一口气发布四大新品,云原生时代将正式开启
- dos命令测试网络连通情况
- 贪心法解部分背包问题
- 桥牌笔记:挤牌的条件之一,调整赢墩到只差一墩
- Xshel和Xftp免费版
- php请求传感器数据流通道号,一汽大众发动机数据流与通道号 匹配设定数据
- Arduino学习笔记—— 猜数字游戏
- JAVA实验三(南邮)
- Macos安装lightgbm时遇到的坑
- cf1677C. Tokitsukaze and Two Colorful Tapes(div1)
- 电容ESR表(一) 电容ESR表的特点、测量原理、电路分析
- UML类图属性和相关关系
- HOG 特征的提取--基于scikit-image
- python 收音机