当前位置: 首页 > news >正文

python 绘制训练曲线--基于Numpy.convolve曲线平均滤波

文章目录

  • 1 训练曲线--震荡的非常厉害
  • 2 基于Numpy.convolve曲线平均滤波
  • 3 python 绘制训练曲线 平滑处理--Savitzky-Golay 滤波器曲线平滑
  • 4 python 绘制训练曲线--插值法 曲线平滑处理

1 训练曲线–震荡的非常厉害

上一篇文章用python自己绘制训练曲线震荡的非常厉害(下图绿色曲线),而tensorboard的曲线比较平滑(下下图黑色曲线),

原因是tensorboard显示的曲线是经过平滑处理过的(其灰黑色的背景就平滑处理前的波形)

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

2 基于Numpy.convolve曲线平均滤波

滑动平均概念:

滑动平均滤波法(又称:递推平均滤波法),它把连续取N个采样值看成一个队列 ,队列的长度固定为N ,每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据(先进先出原则) 。把队列中的N个数据进行算术平均运算,就可获得新的滤波结果。

N值的选取:流量,N=12;压力:N=4;液面,N=4 ~ 12;温度,N=1~4

滑动平均的优缺点:

优点: 对周期性干扰有良好的抑制作用,平滑度高,适用于高频振荡的系统。

缺点: 灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差,不易消除由于脉冲干扰所引起的采样值偏差,不适用于脉冲干扰比较严重的场合,比较浪费RAM 。

from matplotlib import pyplot as plt
import csv
import numpy as np#基于Numpy.convolve实现滑动平均滤波
def moving_average(interval, windowsize):window = np.ones(int(windowsize)) / float(windowsize)re = np.convolve(interval, window, 'same')return refilename = "D:/python/pltt/train_loss.csv"  #.csv文件路径,这里可以添加绝对路径                                          
with open(filename) as f:                                                                                csvreader = csv.reader(f, delimiter = ",", quotechar='"')                                       for line in range(1):  #1代表从文件第2行开始读取next (csvreader)  print("lines: ",line) #打印行数x = []   #横纵坐标分别建立了两个list                                                                                  y = []   for row in csvreader:x.append(float(row[1]))   #读取第23列数据,放入list                                                            y.append(float(row[2]))  # 插值法 对曲线平滑处理y_smooth = moving_average(y, 15)# 可视化图线                                                                  plt.plot(x,y_smooth,'g', linewidth=1.0) #曲线颜色绿色,线条宽度1plt.show()      

在这里插入图片描述

3 python 绘制训练曲线 平滑处理–Savitzky-Golay 滤波器曲线平滑

python 绘制训练曲线 平滑处理–Savitzky-Golay 滤波器曲线平滑

4 python 绘制训练曲线–插值法 曲线平滑处理

python 绘制训练曲线–插值法 曲线平滑处理

python 绘制训练曲线–基于Numpy.convolve曲线平均滤波

http://www.lryc.cn/news/44452.html

相关文章:

  • 状态管理插件vuex
  • arthas—阿里开源的Java诊断工具
  • Java学习记录
  • OpenGL API 之 glVertexAttribPointer
  • 蓝桥杯真题4
  • day02_基本语法
  • 多线程之单例模式
  • 2023年绿色建筑国际会议(ICoGB 2023) | Springer独立出版
  • Python中进程和线程到底有什么区别?
  • 2023美赛春季赛F题思路数据代码论文分享
  • 念一句咒语 AI 就帮我写一个应用,我人麻了...
  • 开放平台设计之接口签名认证
  • Vue自创插件发布到npm以及使用方法
  • 合成孔径雷达干涉测量InSAR数据处理、地形三维重建、形变信息提取、监测等实践技术
  • Java刷题,蓝桥杯省赛第十二届(第一场)4-------------6
  • Docker Cgroups——Docker 资源限制背后的技术原理
  • 十四. MySQL 锁相关
  • ModStartBlog v7.0.0 网站简单统计,支持博客分享
  • 【C语言蓝桥杯每日一题】—— 递增序列
  • node_express框架01
  • 想转行做程序员,该怎么选择开发语言?哪个岗位工资最高?
  • JavaWeb——【笔记】3.2JavaWeb_Web核心_Request(请求)+Response(响应)
  • HTML 标签和属性
  • MySQL 连接的使用
  • 配置案例丨EtherCAT转Profinet网关连接凯福科技总线步进驱动器
  • VSCODE连接ssh服务器时提示could not establish connection to解决方法
  • 网络安全之防火墙 双机热备实验
  • Java高频面试题(2023最新整理)
  • mongoDB学习笔记
  • 快速融人,融资的共享模式,实体,线上皆可参考