【啃书】《深度学习入门 基于Python的理论与实现》第1章 Python入门

该章最为起始章节1.1——1.4节主要进行python的介绍,安装,以及基础语法和如何运行python脚本文件
1.5 NumPy
在深度学习的实现中,经常出现数组和矩阵的计算。 NumPy的数组类(numpy.array)中提供了很多便捷的方法,在实现深度学习时,我们将使用这些方法。NumPy库不包含在标准版Python中。

#导入NumPy
import numpy as np

#np.array()接收Python列表作为参数,生成NumPy数组(numpy.ndarray)。
x = np.array([1.0, 2.0, 3.0])
print(x)
print(type(x))


#算法运算
##注:元素个数相同时,可以对各个元素进行算术运算。如果元素个数不同,程序就会报错
x = np.array([1.0, 2.0, 3.0])
y = np.array([2.0, 4.0, 6.0])
print(x + y )# 对应元素的加法
print(type(x + y))
print(x - y )# 对应元素的减法
print(type(x - y))
print(x * y )# 对应元素的乘法
print(type(x * y))
print(x / y )# 对应元素的除法
print(type(x / y))
print(x / 2.0 )# 对应元素的除法
print(type(x / 2.0))

#生成多维数组
A = np.array([[1, 2], [3, 4]])
print(A)
print(A.shape)#查看矩阵A的形状
print(A.dtype)#查看矩阵元素的数据类型

#矩阵的算术运算
B = np.array([[3, 0],[0, 6]])
print(A + B)
print(A * B)
print(A * 10)

#广播
#NumPy中,形状不同的数组之间也可以进行运算
A = np.array([[1, 2], [3, 4]])
B = np.array([10, 20])
print(A * B)


#访问元素
##注:元素的索引从0开始
X = np.array([[51, 55], [14, 19], [0, 4]])
print(X)
print(X[0]) # 第0行
print(X[0][1]) # (0,1)的元素

##for语句访问各个元素。
for row in X:
    print(row)
    
#NumPy还可以使用数组访问各个元素
X = X.flatten() # 将X转换为一维数组
print(X)
print(X[np.array([0, 2, 4])])# 获取索引为0、 2、 4的元素
print(X > 15)#从X中抽出大于15的元素,得到一个布尔型的数组
print(X[X>15])#从X中抽出大于15的元素,取出True对应的元素

运行结果如下所示

[1. 2. 3.]
<class 'numpy.ndarray'>
[3. 6. 9.]
<class 'numpy.ndarray'>
[-1. -2. -3.]
<class 'numpy.ndarray'>
[ 2.  8. 18.]
<class 'numpy.ndarray'>
[0.5 0.5 0.5]
<class 'numpy.ndarray'>
[0.5 1.  1.5]
<class 'numpy.ndarray'>
[[1 2]
 [3 4]]
(2, 2)
int32
[[ 4  2]
 [ 3 10]]
[[ 3  0]
 [ 0 24]]
[[10 20]
 [30 40]]
[[10 40]
 [30 80]]
[[51 55]
 [14 19]
 [ 0  4]]
[51 55]
55
[51 55]
[14 19]
[0 4]
[51 55 14 19  0  4]
[51 14  0]
[ True  True False  True False False]
[51 55 19]

在这里插入图片描述
在这里插入图片描述
1.6 Matplotlib
Matplotlib是用于绘制图形的库,使用Matplotlib可以轻松地绘制图形和实现数据的可视化。
使用 matplotlib的 pyplot模块绘制图形

#sin函数和cos函数
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
x = np.arange(0, 6, 0.1) # 以0.1为单位,生成0到6的数据
y1 = np.sin(x)
y2 = np.cos(x)
# 绘制图形
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()

在这里插入图片描述
pyplot 中还提供了用于显示图像的方法 imshow()。另外,可以使用matplotlib.image模块的**imread()**方法读入图像。

#显示图像
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread('123.png') # 读入图像(设定合适的路径!)
plt.imshow(img)
plt.show()

在这里插入图片描述

本章所学的内容

  • Python是一种简单易记的编程语言。
  • Python是开源的,可以自由使用。
  • 本书中将使用Python 3.x实现深度学习。
  • 本书中将使用NumPy和Matplotlib这两种外部库。
  • Python有“解释器”和“脚本文件”两种运行模式。
  • Python能够将一系列处理集成为函数或类等模块。
  • NumPy中有很多用于操作多维数组的便捷方法。

中 深度学习入门 基于Python的理论与实现 原作名- Deep Learning from Scratch[文字版][[日]斋藤康毅[译] 陆宇杰][人民邮电出版社][2018-7][9787115485588]

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值