Python学习
文章平均质量分 67
Python学习
Hello3q3q
某大厂底层员工
展开
-
Python为多个子图设置同一个colorbar
研究了半天才整明白,直接上代码:import matplotlib.pyplot as pltimport numpy as npfig, ax = plt.subplots(2, 3)ax = ax.flatten()np.random.seed(0)for i in range(6): img = np.random.random([7, 7]) im = ax[i].imshow(img)fig.colorbar(im, ax=[ax[i] for i in ran原创 2021-12-15 20:57:36 · 9378 阅读 · 1 评论 -
Python中字典的进阶操作
0. 前言在学校搞科研的时候就是用Python做数据分析,所以对其用法也没有深入了解,实习的时候就是用Python搞的开发,当时觉得没什么。但最近看了《Python Cookbook》发现自己当初写的代码太垃圾了,其中原因之一就是对字典不够熟悉、了解的过于片面。现在我就结合《Python Cookbook》中所讲,结合自己的认识讲一讲Python中字典这一数据结构的用法。1. 字典的定义字典是另一种可变容器模型,且可存储任意类型对象。字典是通过名字(key)来引用值(value)的数据结构,并且把这原创 2021-11-21 13:20:27 · 1042 阅读 · 0 评论 -
matplotlib.pyplot保存多张图片覆盖问题
1. 保存单张图片保存单张图片代码如下:# acc是我跑的神经网络的历代准确率plt.plot(acc, 'r')plt.title("Accuracy of LSTM2LSTM")plt.xlabel("epoch")plt.ylabel("accuracy")plt.savefig("accCurve.png") # 保存图片在当前目录下,名字为accCurve.png2. 保存多张图片跑神经网络的时候,我需要保存损失函数下降曲线和准确率上升曲线,如果按1中的代码,两者直接堆叠一起原创 2021-06-11 10:19:55 · 5513 阅读 · 4 评论 -
Pytorch中神经网络学习率衰减方法
1. 为什么要衰减学习率(learning rate, lr)代表梯度下降的步长,与传统智能优化算法(比如粒子群算法)类似,如果搜索步长太大有可能会跳出最优区间,如果搜索步长太小,有可能陷于局部最优值。在神经网络刚开始训练的时候,可以将学习率lr设置的大一点(比如0.01),后面随着训练代数的增加将学习率逐步减小,这样平衡了探索和开发的能力。2. 衰减方法参考pytorch官方文档pytorch官方给我们提供了几个衰减函数:torch.optim.lr_scheduler.StepLR(),torc原创 2021-05-31 14:44:57 · 1887 阅读 · 3 评论 -
(pytoch)神经网络做分类任务时的一些常见错误
1. 错误一 TypeError: expected Long (got Float)错误语句:loss = criterion(outputs, target)错误原因:target类型错误,要求时是Long类型的,给了Float类型的修改后:loss = criterion(outputs, target.long())2. 错误二 RuntimeError: Assertion cur_target 0 cur_target n_classes failed错误全部信息:原创 2021-05-19 16:03:11 · 948 阅读 · 0 评论 -
(吐血整理)一文讲懂Seq2Seq(Attention)模型原理及在Pyorch中的实现
目录0. 前言1. 模型总体结构2. 模型具体流程分析3. 数据集说明4. Pytorch中循环神经网络API5. Encoder层5.1 原理分析5.2 Pytorch模块分析5.3 示例代码6. Attention层6.1 原理分析6.2 示例代码7. Decoder层7.1 原理分析7.2 示例代码8. Seq2Seq层8.1 原理分析8.2 示例代码0. 前言看了整整一周的Seq2Seq(Attention)模型才有点明白,参考B站一位很厉害的up主讲解,视频,但是他的视频和代码有一些错误,经过原创 2021-03-19 17:18:14 · 10259 阅读 · 6 评论 -
Pytorch循环神经网络(RNN)快速入门与实战
0. 前言很久没用过Pytorch,忘得差不多了,最近课题需要用,所以整理一下RNN的使用方法。记得去年学这部分一直很迷糊,所以希望这篇博客能对大家有所帮助。1. 简单循环神经网络结构先简单聊聊RNN的结构。最简单的一层RNN网络结构如下图所示,其中,每个箭头都表示一个权值,输入为向量X=[x1,x2,...,xT]X=[x_1,x_2,...,x_T]X=[x1,x2,...,xT],输出向量为Y=[y1,y2,...,yT]Y=[y1,y2,...,y_T]Y=[y1,y2,...,yT]原创 2021-03-04 17:43:30 · 48337 阅读 · 28 评论 -
聚类效果的外部评价指标——纯度(Purity)及其Python和matlab实现
0. 前言我的课题中有一部分是评价聚类结果的好坏,很多论文中用正确率来评价。对此,我一直持怀疑态度,因为在相关书籍中并没有找到“正确率”这一说法,只有分类的时候才用到。若要评价分类结果,Python中直接调用sklearn库中的accuracy_score就可以得出准确率。那么聚类的“正确率”如何定义又如何计算呢?假设有5个有标签的目标,对应标签表示为y_true=[0,0,0,1,1],根据聚类算法的输出是y_pre=[1,1,1,,0,0],此时聚类结果是完全正确的,因为算法把前三者归为一类,后两者原创 2020-12-29 16:25:35 · 14117 阅读 · 10 评论 -
(python)tkinter中askopenfile打开文件错误解决办法
错误提示:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 15: illegal multibyte sequence错误代码:with askopenfile(title="打开文本文件") as f: self.textpad.insert(INSERT, f.read())错误原因:编码错误,所以要改变编码格式代码修改:with open(askopenfilename(title="打开文件"),原创 2020-08-23 10:38:55 · 2812 阅读 · 1 评论 -
(Python)tkinter中Scale控件
Scale控件是设置一个滑动栏,我们可以设置起始坐标值,终止坐标值,分度,还需要掌握如何获取滑块的值。示例代码如下:from tkinter import *class Application(Frame): def __init__(self,master=None): super().__init__(master) self.master = master self.pack() self.createwidget()原创 2020-08-12 16:04:51 · 1051 阅读 · 0 评论 -
(Python)tkinter中Optionmenu控件
tkinter中Optionmenu控件是用来设置选择框的,以程序为例:from tkinter import *from tkinter import messageboxclass Application(Frame): def __init__(self,master=None): super().__init__(master) self.master = master self.pack() self.create原创 2020-08-12 15:56:19 · 1409 阅读 · 0 评论 -
(Python)lambda函数在tkinter中的应用
以一个小程序为例,讲解lambda函数在tkinter中的应用from tkinter import *from tkinter import messageboxdef mouseTest(a,b): messagebox.showinfo("结果","传递的参数是a={},b={}".format(a,b))root = Tk()Button(root, text="测试", command= lambda :mouseTest("s","z")).pack()root.main原创 2020-08-12 14:49:53 · 5604 阅读 · 1 评论 -
(Python)tkinter中event对象
1.前言看了很多博客,关于event对象,大家在用是基本都是直接在主程序使用,或者在函数中使用,几乎没有在类(class)中使用的。在class中使用event有一些注意事项需要注意,这里我以程序为例展开介绍。首先讲一下event对象的使用方法。2.鼠标和键盘事件这里列举了常用的事件及其说明,使用方法见程序。3.event对象常用属性属性的调用方法为:event.属性名4.示例程序4.1 定义classclass Application(Frame): def __init__原创 2020-08-12 10:53:19 · 3484 阅读 · 0 评论 -
(Python)tkinter中grid(布局管理器)控件
1.grid模块中的参数grid模块中参数非常多,常用的如下图所示:示例程序下面我们以用grid做一个计算器的页面,目标页面如下图所示示例程序如下:"""计算器软件的界面设计"""from tkinter import *class Application(Frame): def __init__(self, master=None): super().__init__(master) self.master = master原创 2020-08-08 16:53:12 · 1425 阅读 · 0 评论 -
(Python)tkinter中Text(多行文本框)控件
常用功能介绍tkinter中Text模块有很多功能,最常用的有insert:插入信息get:获取信息delet:删除信息window_creat:创建新窗口tag_add:为指定的文本添加Tagstag_config:设置Tags的样式tag_bind:绑定事件示例程序如下为了展示上述功能,编写如下程序:from tkinter import *import webbrowserfrom tkinter import messageboxclass Application(Fr原创 2020-08-07 10:27:39 · 9287 阅读 · 0 评论 -
Python中的继承(inheritance)和重写(override)
现以程序为例说明Python中的继承关系。看懂这个程序,基本的继承关系也就懂了。首先,创建员工类,参数和对象方法均在代码上有解释。# 定义一个员工类class Employee: raise_count = 1.04 # 工资上升 num_of_emps = 0 # 创建的员工类的个数 def __init__(self,first,last,pay): self.first = first self.last = last翻译 2020-08-05 10:24:37 · 1044 阅读 · 0 评论 -
(Python)tkinter中Label的主要参数及图像显示方法
Label的主要参数如下:width,height用于指定显示区域的大小,如果显示的是文本,则以单个英文字符大小为单位(一个汉字占2个字符位置,高度同英文)。如果显示的是图像,则以像素为单位。默认值是根据内容自动调整的.font指定字体和字体大小,如font = (“黑体”,22)image显示在Label上的图像,目前tkinter只支持gif格式fg和bgfg(foreground):前景颜色;bg(background):背景颜色。justify对齐方式,默认原创 2020-08-04 15:37:36 · 7791 阅读 · 2 评论 -
Python中对象方法、类方法、静态方法
Python中对象方法、类方法、静态方法1.对象方法2.类方法3.静态方法1.对象方法在class中面向对象的方法,即默认参数为self的方法,该类方法只能被实例化的对象调用,类名不能调用。示例程序如下:class Student: # 对象方法,只能被实例调用,不能被类调用 def __init__(self, name, age): self.name = name self.age = age # 对象方法,只能被实例调用,不能被类调用原创 2020-08-04 10:27:15 · 373 阅读 · 0 评论