NumPy及Matplotlib基本用法

NumPy及Matplotlib基本用法

  • 导语
  • NumPy
    • 导入与生成
    • 算术运算
    • N维数组
    • 广播
    • 元素访问
  • Matplotlib
    • 简单图案绘制
    • 多函数绘制
    • 图像显示
  • 总结
  • 参考文献

导语

深度学习中经常需要对图像和矩阵进行操作,好在python提供了Numpy和Matplotlib库,前者类似一个已经定义的数组类,支持多维,后者和matlab一脉相承,用法也大同小异

NumPy

导入与生成

import numpy as np#常用写法
a=np.array([1.1,2.1,3.4])
print(a)
print(type(a))

结果

算术运算

可以看到,各种算术运算的结果是将对应项进行加减乘除,必须保证矩阵同型,如果第二个操作数只有一个,那么就代表对矩阵的每一项做该操作。

import numpy as np#常用写法
a=np.array([1.0,2.0,3.0])
b=np.array([5.0,6.0,7.0])
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a/2.0)

在这里插入图片描述

N维数组

NumPy针对的不只是一维数组,也可以是多维数组,常用的对象是矩阵。

import numpy as np#常用写法
a=np.array([[0,1],[2,3]])
print(a)
print(a.shape)
print(a.dtype)
print(a*a)
print(a+a)
print(a*20)

在这里插入图片描述

广播

多用于高维数组和低维数组之间,简单理解就是对数组的每个元素进行与低维数组的运算,逻辑上可以理解为低维被拓展成了与对应数组同维度的数组,例子中可以看到输出结果和高维的a相同。

import numpy as np#常用写法
a=np.array([[0,1],[2,3]])
b=np.array([[3,4]])
print(a*b)

在这里插入图片描述

元素访问

访问很简单,数组是怎么访问的就怎么写。

import numpy as np#常用写法a=np.array([[11,12],[13,14],[15,16]])print(a)#全部数据print(a[0])#输出一行print(a[0][1])#输出一个for i in a:#按行遍历print(i)a=a.flatten()#转换成一维数组
print(a)print(a[np.array([0,2,3])])#输出对应下标元素print(a>13)#判断大于13的结果print(a[a>13])#返回一个只有大于13的数组

在这里插入图片描述

Matplotlib

Python中用于绘制图形的库,看名字就知道和matlab很有关,实际上用法也是大同小异。

简单图案绘制

import numpy as np
import matplotlib.pyplot as pltx=np.arange(0,5,0.2)#范围0~5,步长0.2
y=np.cos(x)plt.plot(x,y)#画函数
plt.show()

在这里插入图片描述

多函数绘制

import numpy as np
import matplotlib.pyplot as pltx=np.arange(0,5,0.2)#范围0~5,步长0.2
y1=np.cos(x)
y2=np.sin(x)plt.plot(x,y1,label="cos")
plt.plot(x,y2,linestyle="--",label="sin")
plt.xlabel("x")
plt.ylabel("y")
plt.title('sin&cos')
plt.legend()
plt.show()

在这里插入图片描述

图像显示

使用imshow显示,imread读入。

import matplotlib.pyplot as plt
from matplotlib.image import imreadimg=imread('xxx.png')
plt.imshow(img)
plt.show()

总结

NumPy在深度学习中是很常用的一个类,其自带的各种函数和特性很方便实现矩阵间的运算,而matplotlib更适合对结果进行展现

参考文献

  1. 《深度学习入门——基于Python的理论与实践》

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年数维杯B题完整代码和思路论文讲解与分析

2024数维杯数学建模完整代码和成品论文已更新,获取↓↓↓↓↓ https://www.yuque.com/u42168770/qv6z0d/bgic2nbxs2h41pvt?singleDoc# 2024数维杯数学建模B题45页论文和代码已完成,代码为全部问题的代码 论文包括摘要、问题重述、问题分析、模型假设、…

linux phpstudy 重启命令

[rootLinuxWeb phpstudy]# ./system/phpstudyctl restart 查看命令 1) phpstudy -start 启动小皮面板 2) phpstudy -stop 停止小皮面板 3) phpstudy -restart 重启小皮面板 4) phpstudy -status 查询面板状态 5) phpstudy -in…

pytest(二):关于pytest自动化脚本编写中,初始化方式setup_class与fixture的对比

一、自动化脚本实例对比 下面是一条用例,使用pytest框架,放在一个类中,两种实现方式: 1.1 setup_class初始化方式 1. 优点: 代码结构清晰,setup_class 和 teardown_class 看起来像传统的类级别的 setup 和 teardown 方法。2. 缺点: 使用 autouse=True 的 fixture 作为…

Linux 磁盘分区工具 gdisk / fdisk

fdisk 是传统的 Linux 磁盘分区工具,磁盘容量有2T的大小限制;gdisk 又叫 GPT fdisk, 作为 fdisk 的升级版,主要使用的是GPT分区类型,用来划分容量大于2T的硬盘,本文介绍使用方法。 简介 早期的磁盘使用 fdisk 工具分区…

GitHub搭建免费博客

一、GitHub仓库准备 ​ 搭建博客需要准备两个仓库。一个存放博客图床的仓库,另一个存放博客网站的仓库。 1.1、图床创建 新建仓库 第一步: ​ 第二步: 生成Token令牌 点击右上角头像->Settings->下拉,直到左侧到底&#…

中国地图(2024版审图号地图)和地图变化说明

2024版shp格式审图号地图预览图: 新版中国地图的变化(简述) 国土面积的增加:新版中国地图显示,中国的国土面积从960万平方公里增加到1045万平方公里,增加了85万平方公里。 九段线变为十段线:…

GT资源-Clock资源

一、Transmitter 时钟分布 XCLK:在使用TX buffer的模式下,XCLK来源于TXOUTCLK。在使用TX bypassing的模式下XCLK来源于TXUSERCLK。TXUSRCLK是GTX/GTH中PCS的内部逻辑时钟。TXUSRCLK2是GT Transceiver 用户侧逻辑时钟。 TXUSRCLK与TXUSRCLK2的关系 FPGA …

无人零售,重塑购物新纪元

在这个快节奏的时代,科技的每一次跃进都在悄无声息地改变着我们的生活方式。而今,无人零售正以雷霆之势,颠覆传统购物模式,为我们带来前所未有的便捷与智能体验。想知道无人零售如何彻底改变我们的购物方式吗?跟随我&a…

字符以及字符串函数

字符以及字符串函数 求字符串长度strlen 长度不受限制的字符串函数strcpystrcatstrcmp 长度受限制的字符串函数strncpystrncatstrncmp 字符串查找strstrstrtok 错误信息报告strerror 字符分类函数字符转换函数tolowertoupper 内存操作函数memcpymemmovememcmpmemset 这篇文章注…

基于Springboot的校园生活服务平台(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校园生活服务平台(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

(已解决)org.springframework.amqp.rabbit.support.ListenerExecutionFailedException

报错截图 解决方案 1、登录rabbitMQ网址,删除所有队列 2、重启rabbitMQ 亲测有效!!!亲测有效!!!亲测有效!!!

简单问题汇总

一、vector和list 1.vector vector是可变大小数组的序列容器,拥有一段连续的内存空间,并且起始地址不变,因此能高效的进行随机存取,时间复杂度为o(1);但因为内存空间是连续的,所以在进行插入和删除操作时…

torch.searchsorted

torch.searchsorted 官方文档链接:torch.searchsorted — PyTorch 2.3 documentation 该函数用于在已排序的序列中查找要插入的值的位置,以保持序列的顺序, torch.searchsorted(sorted_sequence, values, *, out_int32False, rightFalse, s…

Redis是单线程吗?为什么6.0之后引入了多线程?

Redis是单线程吗?为什么6.0之后引入了多线程? Redis 是单线程吗?Redis 单线程模式是怎样的?Redis 采用单线程为什么还这么快?Redis 6.0 之前为什么使用单线程?Redis 6.0 之后为什么引入了多线程&#xff1f…

如何使用 ArcGIS Pro 制作地震动画

在做某些汇报的时候,除了图文,如果有动画肯定会成为加分项,这里为大家介绍一下如何使用 ArcGIS Pro 制作地震动画,希望能对你有所帮助。 添加时间 在图层属性内,选择时间选项卡,图层时间选择每个要素具有…

GA-CNN-LSTM多输入时序预测|遗传算法-卷积-长短期神经网络|Matlab

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 四、完整程序下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编译&am…

前端开发指导

前端开发指导 本文介绍了配置前端开发环境需要的软件、配置项等,指导如何开始进行UDM部门前端开发的全流程。本文以Windows系统下在Microsoft Virtual Studio Code中开发为基础。 一、综述 目标:零基础或者新员工依照此文档,能够完成开发环境的搭建及熟悉测试环境的搭建。…

Day 29 MySQL的主从复制集群

一:主从复制 1.主从复制概念 什么是主从复制: ​ 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库 主从复制的作用: ​ 做数据的热备&#xf…

TriCore: Architecture

说明 本文是 英飞凌 架构文档 TriCore TC162P core archiecture Volume 1 of 2 (infineon.com) 的笔记,稍作整理方便查阅,错误之处,还请指正,谢谢 :) 1. Architecture 2. General Purpose & System Register 名词列表&#…

【基础算法总结】二分查找一

二分查找一 1. 二分查找2.在排序数组中查找元素的第一个和最后一个位置3.x 的平方根4.搜索插入位置 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃&#x1…