深度学习笔记:python的numpy和matplotlib库

news2025/1/11 8:15:18

1 numpy库
numpy为python数学计算库,里面的数组类提供大量便捷的数组和矩阵运算方法

创建numpy数组:

import numpy as np
x = np.array([1.0, 2.0, 3.0])

创建二维数组:

import numpy as np
a = np.array([[1, 2], [3, 4]])
a.shape  # output: (2, 2)
a.dtype  # output: dtype('int64')

shape:查看二维数组形状
dtype:查看数组数据类型

数学上一步将一维数组称为向量,二维数组称为矩阵,三维及以上数组称为张量(tensor)

numpy数组运算:

import numpy as np
x = np.array([1.0, 2.0, 3.0])
y = np.array([2.0, 4.0, 6.0])
x + y # output: [3, 6, 9]
x * y # output: [2, 8, 18]

当两个数组长度和维数相同时,数组可以直接加减乘除。这一计算叫做element-wise运算

numpy数组广播:

在numpy里面形状不同的数组也可以计算,数组和常数也可以计算,这依靠numpy里自动的广播功能将数组扩充实现。广播本质上是将维数较低的数组自动扩充为高维数数组然后进行element-wise计算
在这里插入图片描述
在这里插入图片描述

import numpy as np
a = np.array([[1, 2], [3, 4]])
a * 10	# output: [[10, 20], [30, 40]]
b = np.array([10, 20])
a * b	# output: [[10, 40], [30, 80]]

访问元素:
元素索引从0开始

import numpy as np
a = np.array([[1, 2], [3, 4], [5, 6]])
a[0]	# [1, 2]
a[1][0]	# 3
for row in a:	# foreach
	print(row)

a = a.flatten()	# [1, 2, 3, 4, 5, 6]
a[np.array([0, 2, 4])]	# 1, 3, 5
a > 3 # [False, False, False, True, True, True]
a[a > 3] # [4, 5, 6]

flatten: 把数组转化为一维数组

a[np.array([0, 2, 4])]获取a第0, 2, 4位置的元素

a > 3 对数组进行比较运算会对每个元素依次进行比较,返回一个boolean数组,其中True和False代表各个元素比较结果

a[a > 3]返回a里面所以大于3元素组成的子列表

2 matplotlib库

绘制sin函数

import numpy as np
import matplotlib.pyplot as plt

# generate data
x = np.arange(0, 6, 0.1) # generate numbers from 0 to 6 at 0.1 interval
y = np.sin(x) # create sin function for all points in x

# plot the graph
plt.plot(x, y) # plot graph
plt.show() # display graph

在这里插入图片描述
np.arrange(start, end, step):以step值为单位,生成从start到end的数据
plt.plot(x, y) 绘图
plt.show() 显示绘图结果

生成sin和cos并使用pyplot添加标签

import numpy as np
import matplotlib.pyplot as plt

# generate data
x = np.arange(0, 6, 0.1) # generate numbers from 0 to 6 at 0.1 interval
y1 = np.sin(x) # create sin function for all points in x
y2 = np.cos(x)

# plot the graph
plt.plot(x, y1, label = "sin") # plot graph
plt.plot(x, y2, linestyle = "--", label = "cos")
plt.xlabel("x")		# label on x-axis
plt.ylabel("y")		# label on y-axis
plt.title("sin & cos")	# title
plt.legend()
plt.show() # display graph

在这里插入图片描述
读取图片

import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread("lena.png")
plt.imshow(img)
plt.show()

plt.imread(“path”): 读取图片,里面传入图片文件路径
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

bWAPP靶场搭建——直接使用虚拟机镜像导入配置

一、bWAPP简介 bwapp是一款非常好用的免费的、开源漏洞演示学习平台;它有100多个网络错误!且它涵盖了所有已知的主要web漏洞,包括OWASP Top 10项目的所有风险。 bWAPP是一个使用MySQL数据库的PHP应用程序;它可以通过Apache/IIS和MySQL托管在L…

优维低代码:关联微应用和Feature Flags 特性开关

优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。 连载…

图论(1):单源最短路的建图方式

一、单源最短路算法 最短路算法_yan__kai_的博客-CSDN博客 二、例题 1.acwing1129 题意解读&#xff1a;走过一条路存在花费c&#xff0c;求最小费用即求最短路。无向图 直接背模板&#xff1a; #include<iostream> #include<algorithm> #include<cstring&…

环形轨道运料电动葫芦无线控制系统的组成与功能

一&#xff0e;关于环形轨道运料电动葫芦的控制 目前电动葫芦的控制部分都是由PLC完成的&#xff0c;每个电葫芦内都有一台PLC&#xff0c;主站PLC一般设置在地面控制机柜内。由于电葫芦是在半空中移动工作的&#xff0c;与地面PLC的通讯问题一直是电葫芦设备运行中棘手的问题…

虚拟人,会成为品牌下一次逆势的解药吗?

如果说2021年是虚拟偶像的崛起元年&#xff0c;那2022可以称得上是爆发期了&#xff0c;一方面&#xff0c;定位国风、时尚博主、模特、歌手的虚拟偶像数量激增&#xff0c;被冠以“首位”、“行业第一”等称号的新面孔轮番出道&#xff1b;其次&#xff0c;虚拟人与品牌的商业…

不同Excel多列对比记录新增、修改、删除和无变化的行,并生成对比报告

执行【Exce数据对比.exe】&#xff0c;打开界面如图选择要对比的Excel文件和被对比的Excel文件&#xff0c;输入要对比Sheet页的需要&#xff08;注意&#xff0c;Sheet需要从0开始&#xff09;输入主键列和被对比的列。主键列和被对比列均为二维列表&#xff0c;列的索引从0开…

七、HashSet底层详解

文章目录特点结论源码解读构造器添加元素小结说明练习(重要*掌握)思考特点 无序、无索引 不可重复(地址)&#xff0c;可存一个null 不可用索引取出 存放和取出顺序不一定一样 但每次取出的顺序是一样的 遍历只能迭代器和增强for 底层其实是HashMap 结论 源码解读 构造…

Spring AOP源码:配置文件解析过程

前言 本篇文章主要讲解AOP配置中的几个通知类的解析过程&#xff0c;为后续对目标类进行代理做准备&#xff1b;在前面的Spring IOC篇我们讲解了自定义配置的解析&#xff0c;AOP配置的解析过程也是其自定义注解的过程&#xff0c;如果不熟悉自定义解析过程可以看之前的文章Sp…

CVPR2017|Deep Feature Flow for Video Recognition论文复现(pytorch版)

&#x1f3c6;引言&#xff1a;深度卷积神经网络在图像识别任务中取得了巨大的成功。然而&#xff0c;将最先进的图像识别网络转移到视频上并非易事&#xff0c;因为每帧评估速度太慢且负担不起。我们提出了一种快速准确的视频识别框架——深度特征流DFF。它只在稀疏关键帧上运…

数据通信基础 - 调制技术

文章目录1 概述2 调制技术2.1 分类2.2 N 相调制3 网工软考真题1 概述 #mermaid-svg-ZTF6pPysJlmUes01 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ZTF6pPysJlmUes01 .error-icon{fill:#552222;}#mermaid-svg-ZTF…

谷歌用量子处理器发现:光子能在混沌中保持稳健的束缚态

一圈超导量子比特可以容纳微波光子的“束缚态”&#xff0c;其中光子往往聚集在相邻的量子比特位点上。图片来源&#xff1a;Google Quantum AI 使用量子处理器&#xff0c;研究人员可以使微波光子具有异常的“粘性”。在诱使它们聚集成束缚态后&#xff0c;他们发现这些光子簇…

谷歌 Chrome 浏览器弹窗境外广告的解决方法

谷歌的 Chrome 浏览器是我非常喜欢的一款的浏览器&#xff0c;用了它之后就不想再用其它浏览器。可是不知道从什么时候开始&#xff0c;Chrome 浏览器居然时不时地在右下角弹出广告&#xff0c;仔细一看&#xff0c;还是境外的 VPN 广告&#xff0c;如下图。有弹出过几次了&…

如何通过创建 SSH key 来进行Git 代码管理

1.检查你的电脑是否已经有SSH Key&#xff1f; 运行如下命令查看&#xff1a; $ cd ~/.ssh $ ls如果存在id_rsa.pub或 id_dsa.pub 文件&#xff0c;说明你的电脑已经有 SSH Key &#xff0c;可以直接拿来用&#xff0c;如果没有的话需要创建。 2.创建SSH Key 配置全局的nam…

zookeeper入门篇

文章目录前言介绍安装与启动配置说明节点节点类型PERSISTENT&#xff08;持久化节点&#xff09;PERSISTENT_SEQUENTIAL&#xff08;持久化顺序节点&#xff09;EPHEMERAL&#xff08;临时节点&#xff09;EPHEMERAL_SEQUENTIAL&#xff08;临时顺序节点&#xff09;Container&…

用Java实现简单的图书管理系统(Java系列7)

目录 前言&#xff1a; 1.基础框架的搭建 1.1图书 1.1.1书 1.1.2书架 1.2用户 1.2.1抽象类 1.2.2普通用户 1.2.3管理员 1.3操作 1.3.1新增图书 1.3.2借阅图书 1.3.3删除图书 1.3.4退出图书 1.3.5查找图书 1.3.6归还图书 1.3.7显示图书 2.具体内容的实现 2.1Ma…

<flutter>跨平台开发新手入坑指南 dart dio pubspec.yaml json_annotation 打包 小坑指南

1.资源文件和依赖三方包&#xff08;pubspec.yaml&#xff09;&#xff1a; pubspec.yaml文件可以说是和安卓的gradle文件差不多&#xff0c;它用来描述版本号、sdk、依赖等的。 在资源导入方面同安卓不一样的是&#xff0c;flutter需要在pubspec.yaml中声名&#xff0c;不然…

【PCB专题】Allegro元件库路径设置方法

正常Layout拉线前,需要将原理图导出的网表导入到Allegro里,Allegro就会自动将元件导入。如果库路径没有设置或都软件找不到器件,将会非常的卡顿,并且报Completed with warnings/errors。如下图所示: 在弹出的错误报告View of file:netrev.lst中会提示很多器件找不到封装。…

js知识点

js有预解析阶段&#xff0c;变量声明提升只提升定义&#xff0c;不提升值 console.log(a);//undefined var a10; 基本数据类型 Number、String、Boolean、Undefined和Null 复杂数据类型 Object、Array、Function、RegExp、Date、Map、Set等 使用typeof运算符可以检测值或…

刷爆力扣之验证回文串 II

刷爆力扣之验证回文串 II HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#xff…