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

  1. [转载] 《python程序设计应用教程》第一章 python语言概述

    参考链接: Python语言的优势和应用 第一章 python语言概述 1.1 python语言简介 ① 众多的开源的科学计算软件包都提供了python的调用接口,例如:计算机视觉库OpenCV.三维 ...

  2. python实现胶囊网络_深度学习精要之CapsuleNets理论与实践(附Python代码)

    摘要: 本文对胶囊网络进行了非技术性的简要概括,分析了其两个重要属性,之后针对MNIST手写体数据集上验证多层感知机.卷积神经网络以及胶囊网络的性能. 神经网络于上世纪50年代提出,直到最近十年里才得 ...

  3. 用python计算复利计算器_第一章 Python简介

    全览: Python的大部分基本特性:如变量.表达式.控制流.函数.生成器.类和输入\输出: Python3和Python2.6的区别:大多数与打印和I/O有关: ------------------ ...

  4. python dict 排序原理_第一章Python数据结构和算法(字典排序)

    字典排序 问题 你想创建一个字典,并且在迭代或序列化这个字典的时候能够控制元素的顺序. 解决方案 为了能控制一个字典中元素的顺序,你可以使用 collections 模块中的OrderedDict 类 ...

  5. 学习笔记--深度学习入门--基于Pyrhon的理论与实现--[日]斋藤康毅 -- 持续更新中

    关于这本 "神作" 的简介 这本书上市不到 2 年,就已经印刷 10 万册了.日本人口数量不大,但是却有这么多人读过这本书,况且它不是一本写真集,是实实在在的技术书,让人觉得很不可 ...

  6. Python深度学习:基于TensorFlow

    作者:吴茂贵,王冬,李涛,杨本法 出版社:机械工业出版社 品牌:机工出版 出版时间:2018-10-01 Python深度学习:基于TensorFlow

  7. Python深度学习:基于PyTorch [Deep Learning with Python and PyTorch]

    作者:吴茂贵,郁明敏,杨本法,李涛,张粤磊 著 出版社:机械工业出版社 品牌:机工出版 出版时间:2019-11-01 Python深度学习:基于PyTorch [Deep Learning with ...

  8. 【深度学习】基于Torch的Python开源机器学习库PyTorch卷积神经网络

    [深度学习]基于Torch的Python开源机器学习库PyTorch卷积神经网络 文章目录 1 CNN概述 2 PyTorch实现步骤2.1 加载数据2.2 CNN模型2.3 训练2.4 可视化训练 ...

  9. 【深度学习】基于Torch的Python开源机器学习库PyTorch回归

    [深度学习]基于Torch的Python开源机器学习库PyTorch回归 文章目录1 torch.autograd 2 torch.nn.functional 3 详细的回归DEMO3.1 DATAS ...

  10. 【深度学习】基于Torch的Python开源机器学习库PyTorch概述

    [深度学习]基于Torch的Python开源机器学习库PyTorch概述 文章目录 1 PyTorch简介 2 环境搭建 3 Hello world!3.1 Tensors (张量)3.2 操作 4 ...

最新文章

  1. yii2嵌入微信公众号支付
  2. php文件代码采用UTF-8编码的BOM问题---转自CSDN---十方地藏---http://blog.csdn.net/webdesman...
  3. Java多线程之synchronized(二)
  4. [分享]Host文件的原理解释及应用说明
  5. 防止System.exit调用
  6. 永无止境_永无止境地死:
  7. 腾讯云一口气发布四大新品,云原生时代将正式开启
  8. dos命令测试网络连通情况
  9. 贪心法解部分背包问题
  10. 桥牌笔记:挤牌的条件之一,调整赢墩到只差一墩
  11. Xshel和Xftp免费版
  12. php请求传感器数据流通道号,一汽大众发动机数据流与通道号 匹配设定数据
  13. Arduino学习笔记—— 猜数字游戏
  14. JAVA实验三(南邮)
  15. Macos安装lightgbm时遇到的坑
  16. cf1677C. Tokitsukaze and Two Colorful Tapes(div1)
  17. 电容ESR表(一) 电容ESR表的特点、测量原理、电路分析
  18. UML类图属性和相关关系
  19. HOG 特征的提取--基于scikit-image
  20. python 收音机

热门文章

  1. Chorme 模拟分辨率设置
  2. CentOS6下搭建Extmail邮箱服务
  3. 群晖218J搭建VLMCSD
  4. hdu 5053 the Sum of Cube(水)
  5. dhtmlxGantt 版本比较-Crack
  6. 使用python爬取链家上海二手房信息的案例
  7. access2016与mysql_Access 2016数据库应用与开发
  8. SQL server2019导入Access 2016数据失败解决方法
  9. Android即时智能聊天软件
  10. SEGGER RTT printf 的移植和浮点数处理