绘制折线图遇到问题记录
绘制折线图
主要参考:https://blog.csdn.net/qq_38029916/article/details/121611066
对应代码
import csv
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['axes.unicode_minus'] = Falsepd_data = pd.read_csv("results.csv")
# %%capture output
## 捕获横坐标
epoch_data = pd_data["epoch"].astype(int).values
type(pd_data["epoch"])%%capture output
pd_data["train/box_loss"][np.isinf(pd_data["train/box_loss"])] = np.nan
train_cls_loss_data = pd_data["train/box_loss"].fillna(method="backfill",axis=0,inplace=False).astype(float).valuesdef get_data(data:pd.pandas)->None:if np.inf in data.values or np.nan in data.values:data[np.isinf(data)] = np.nandata = data.fillna(method="backfill",axis=0,inplace = False).astype(float).valuesreturn datadef main():## train_box_loss dataepochs = pd_data["epoch"].astype(int).valuestrain_box_loss = get_data(pd_data["train/box_loss"])train_cls_loss = get_data(pd_data["train/cls_loss"])train_dfl_loss = get_data(pd_data["train/dfl_loss"])val_box_loss = get_data(pd_data["val/box_loss"])val_cls_loss = get_data(pd_data["val/cls_loss"])val_dfl_loss = get_data(pd_data["val/dfl_loss"])colors = np.random.rand(6,3)fig,axes = plt.subplots(2,3 , figsize = (15,10))# Plot the train lossesaxes[0, 0].plot(epochs, train_box_loss, color=colors[0], label='train_box_loss')axes[0, 1].plot(epochs, train_cls_loss, color=colors[1], label='train_cls_loss')axes[0, 2].plot(epochs, train_dfl_loss, color=colors[2], label='train_dfl_loss')# Plot the validation lossesaxes[1, 0].plot(epochs, val_box_loss, color=colors[3], label='val_box_loss')axes[1, 1].plot(epochs, val_cls_loss, color=colors[4], label='val_cls_loss')axes[1, 2].plot(epochs, val_dfl_loss, color=colors[5], label='val_dfl_loss')# Set labels and titles for each plotaxes[0, 0].set_title('Train Box Loss')axes[0, 1].set_title('Train CLS Loss')axes[0, 2].set_title('Train DFL Loss')axes[1, 0].set_title('Validation Box Loss')axes[1, 1].set_title('Validation CLS Loss')axes[1, 2].set_title('Validation DFL Loss')# Set common x and y labelsfor ax in axes.flat:ax.set_xlabel('Epoch')ax.set_ylabel('Loss')ax.legend()# Adjust layout to prevent overlapplt.tight_layout()plt.savefig("./result.jpg")# Show the plotplt.show()
遇到问题👇
问题1-缺失字体
查看对应的绘制图时,少了字体,对应解决方法就是下载字体文件到指定目录中。
- 到该链接下载字体
- 寻找matplotlib的路径:/root/miniconda3/envs/yolo/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf
- 删除缓存路径,打印该路径后进入该路径rm *。
import matplotlib as mpl
print(mpl.get_cachedir())
问题2-inf值识别&处理
遇到的问题,比如inf需要识别。
Q:为什么会出现inf值?👇
A:因为在有数据的时候除0了,数值写入会将值写为inf。ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
Q:判断某一列中是否存在inf值?👇
A:首先将该列值更改为np数组,然后进行判断。
col_data = pd['col_name'].astype(float).values
if np.inf in col_data:print("np.inf存在")
Q:inf值怎么处理?👇
A:首先替换inf为nan值==》df['col_name'][np.isinf(df['col_name'])] = np.nan。
将nan值替换为需要的值,我选用的是和前后一致。data = data.fillna(method="backfill",axis=0,inplace = False).astype(float).values
参考文献
- 字体缺失👇
- https://blog.csdn.net/weixin_40566713/article/details/137275377
- inf值处理👇
- https://blog.csdn.net/sinat_26811377/article/details/103126133
- https://blog.csdn.net/yangnianxiang/article/details/121769037
- https://blog.csdn.net/sinat_28442665/article/details/104901143
- https://blog.csdn.net/qq_35190319/article/details/89280372
相关文章:
绘制折线图遇到问题记录
绘制折线图 主要参考:https://blog.csdn.net/qq_38029916/article/details/121611066 对应代码 import csv import matplotlib.pyplot as plt import pandas as pd import numpy as np plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[font.family] sans…...
python 调Qt C++ 写法配置和坑点
python 示例写法 和调c动态库一样 通过回调函数方式 将python函数注册到c 动态库中 from ctypes import *def DllCall(nParam, nFlag):print(nParam, nFlag)z2 0.6z3 0.4z4 0.0z5 0.3z6 0.5z7 0.8z8 0.3z9 0.9strData str(z2) str(z3) str(z4) str(z5)…...
css设置透明的几种办法
在CSS中,有几种方法可以设置元素的透明度。以下是主要的几种方式: 1. 使用 opacity 属性 定义:opacity 属性用于设置元素的整体透明度,包括其内容和背景。取值范围:取值从0(完全透明)到1&…...
刷题日志【4】
目录 1、猜数字大小 1、猜数字大小 题意有点抽象,我大概讲一下,就是在1——n里面会有一个目标数,我们通过猜数字的方式逼近这个数字,直到解出这个数,之前我们是用二分法求最快达到求解的问题,这道题多了每…...
如何制作自己的字体文件.ttf
日常编程中,一些常用的符号可以直接用来当做图标使用,不需要引入过多的资源文件(例如:ico、png、svg等)十分方便! 笔者发现iconfont网站可以选择自己需要的图标,制作成.ttf文件来直接使用&…...
gradle在IDEA 中无法使用的启动守护线程的问题
最近打开一个比较早的项目,Gradle 配置没有问题,IDEA 打开Java项目却不能初始化守护线程,UI 上只能看到失败,看不到具体原因。 首先尝试了升级最新的gradle 版本8.11, 实际上这个版本在本地命令行都不能正常工作,没有…...
Spring Boot 配置多数据源并手动配置事务
Spring Boot 配置多数据源并手动配置事务 一、为什么多数据源需要手动配置?二、配置多数据源1. 数据源配置类 (DataSourceConfig)2. 主数据库 MyBatis 配置类 (PrimaryDbMyBatisConfig)3. 从数据库 MyBatis 配置类 (SecondaryDbMyBatisConfig)4. application.yml 配…...
YashanDB 23.2 YAC 共享集群部署和使用自带YMP迁移工具进行数据迁移,效果很city
1. 环境准备 本文以经典架构(2 台服务器,1 共享存储且包含 3 个及以上 LUN)为例,搭建双实例单库的共享集群环境。 主机名 IP 版本 CPU 内存 硬盘 用途 yac1 192.168.50.60 Kylin-Server-V10-SP3 4C 8G 100G YAC 集群…...
【数学】矩阵的逆与伪逆 EEGLAB
文章目录 前言matlab代码作用EEGLAB 中的代码总结参考文献 前言 在 EEGLAB 的使用中,运行程序时出现了矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND 1.873732e-20 的 bug,调查 EEGLAB 后发现是 raw 数据的问题。 matlab代码 A_1 …...
狐猬编程 C++ L3 第7课 字符串入门 元音字母
给你一个所有字符都是字母的字符串, 请输出其中元音字母的个数。(提示: 二十六个字母中的五个元音字母是 a, e, i, o, u; 所有字符有大小写区别。) 输入格式 仅一行, 包…...
APP UI自动化测试的思路小结
在移动互联网飞速发展的今天,APP质量直接影响用户体验。为了保障UI功能的稳定性和一致性,APP UI自动化测试已经成为各大企业必不可少的一环。那么如何设计一套高效的测试方案?本篇为你总结关键思路! 如何从零构建UI自动化测试&am…...
2412d,d的7月会议
原文 总结 卡斯滕 Carsten说,Decard一直在大量试验WebAssembly.他们一直在把d运行时挖出来,直到它工作.他们在浏览器中运行了一些库函数,并试了不同虚机. 他们在移动方面遇见了很多问题,因为不同芯片按不同方式工作.他们想让他们的整个SDK在WASM上运行,但可能需要一年时间才…...
ANOMALY BERT 解读
出处: ICLR workshop 2023 代码:Jhryu30/AnomalyBERT 可视化效果: 一 提出动机 动机:无监督 TSAD 领域内,“训练集” 也缺失:真值标签(GT);换句话说,一个…...
定时/延时任务-Netty时间轮源码分析
文章目录 1. 概要2. 参数3. 构造器4. 回收5. 启动时间轮 - start6. 停止时间轮 - stop7. 添加任务8. 工作线程 - Worker8.1 线程参数8.2 核心逻辑-run8.3 指针跳动到下一个tick8.4 处理要取消的任务8.5 把新增的任务加入时间轮8.6 执行过期任务 9. HashedWheelTimeout9.1 属性9…...
React的一些主要优点是?
React 一些主要的优点: 组件化架构: React 通过组件化的方式构建 UI,允许开发者将复杂的应用拆分成可重用的小部分。这使得代码更加模块化和可维护。 虚拟 DOM: React 使用虚拟 DOM 来提高性能。它通过在内存中维护一个与应用状态…...
RabbitMQ 基本使用方法详解
RabbitMQ 基本使用方法 在你的代码中,涉及到了 RabbitMQ 的基本使用,包括队列定义、交换机的配置、消息的发送与接收等内容。下面我将详细总结 RabbitMQ 的基本使用方法,重点解释如何在 Spring Boot 项目中与 RabbitMQ 集成。 1. 引入依赖 …...
[leetcode100] 101. 对称二叉树
https://leetcode.cn/problems/symmetric-tree/description/?envTypestudy-plan-v2&envIdtop-100-liked 心血来潮,突然感觉很久没做leetcode,刷一题。 看到“简单”,哦吼,应该很快吧。 结果真是《简单》 题目描述 给你一个…...
Vue.createApp的对象参数
目录 template 属性 data 属性 methods 属性 疑问 function 函数的两种写法 methods 属性中 this 的指向 总结 Vue 实例是通过 Vue.createApp() 创建的,该函数需要接收一个对象作为参数,该对象可添加 template、data、methods 等属性。 template …...
短信验证码burp姿势
首先声明,本文仅仅作为学习使用,因个人原因导致的后果,皆有个人承担,本人没有任何责任。 在之前的burp学习中,我们学习了图片验证码的突破,但是现实中还有很多短信验证码,在此我介绍几种短信验…...
ubuntu WPS安装
需要进入国外官网下载 [OFFICIAL] WPS Office-Free Office Download for PC & Mobile, AI-Powered Office Suite 安装 sudo dpkg -i wps-office_11.1.0.11723.XA_amd64.deb 提示缺失字体操作 下载字体包 链接: https://pan.baidu.com/s/1EVzb3F8Ry_dJ_hj0A4MksQ 提取…...
PyTorch 2.8 实战案例:快速训练一个图像分类模型(附代码)
PyTorch 2.8 实战案例:快速训练一个图像分类模型(附代码) 1. 引言 图像分类是计算机视觉领域最基础也最实用的任务之一。无论是识别猫狗照片、检测医学影像,还是分析卫星图像,都需要可靠的分类模型作为基础。本文将带…...
【Agents】自定义子代理进阶:后台执行
基础篇:【Agents】Claude Code 多 Agent 入门:从一问一答到并行协作实践篇1:【Agents】Claude Code 自定义子代理:内置的不够用,就自己造实践篇2:【Agents】自定义子代理进阶:沙盒隔离 上一篇用 isolation: worktre…...
解决企业级流程建模挑战:基于Vue与bpmn.js的Flowable工作流设计器深度集成指南
解决企业级流程建模挑战:基于Vue与bpmn.js的Flowable工作流设计器深度集成指南 【免费下载链接】workflow-bpmn-modeler 🔥 flowable workflow designer based on vue and bpmn.io7.0 项目地址: https://gitcode.com/gh_mirrors/wo/workflow-bpmn-mode…...
Go Interface 与类型断言的实践
Go语言中的Interface与类型断言是提升代码灵活性的重要工具。Interface定义了方法集合,允许不同类型实现相同行为,而类型断言则能在运行时检查接口值的具体类型。本文将深入探讨其核心实践技巧,帮助开发者编写更优雅的Go代码。接口定义与实现…...
2026年黄山钢筋网片供应厂家揭秘
在建筑行业蓬勃发展的今天,钢筋网片作为建筑施工中不可或缺的材料,其质量和供应厂家的选择至关重要。对于黄山地区的建筑项目来说,找到一家靠谱的钢筋网片供应厂家,是保障工程质量和进度的关键。今天,我们就来揭秘一家…...
7个高效步骤:Meshroom开源三维重建工具从入门到精通
7个高效步骤:Meshroom开源三维重建工具从入门到精通 【免费下载链接】Meshroom 3D Reconstruction Software 项目地址: https://gitcode.com/gh_mirrors/me/Meshroom 技术原理:三维重建的底层逻辑与技术选型 摄影测量技术的数学基础 三维重建技…...
弹幕盒子:5分钟掌握专业弹幕制作,零基础也能轻松上手
弹幕盒子:5分钟掌握专业弹幕制作,零基础也能轻松上手 【免费下载链接】danmubox.github.io 弹幕盒子 项目地址: https://gitcode.com/gh_mirrors/da/danmubox.github.io 你是否曾为视频制作寻找合适的弹幕工具而烦恼?想要给视频添加互…...
咱们今天聊点硬核但有趣的东西——用纳米级乐高积木(二氧化钛超表面)玩转光漩涡。想象一下,你手上有把能操控光波前形状的万能钥匙,这就是超表面的魅力所在
FDTD模型:基于超表面的完美涡旋光案例。 宽带任意阶 完美涡旋光束 介绍:全介质超表面实现完美矢量涡旋光束生成和完美庞加莱球生成,完美矢量涡旋光束不随拓扑荷的变化而变化,同时满足矢量光场的偏振变化,主要用于光学加密等领域&a…...
高效解决E-Hentai图库下载难题:实用下载工具全攻略
高效解决E-Hentai图库下载难题:实用下载工具全攻略 【免费下载链接】E-Hentai-Downloader Download E-Hentai archive as zip file 项目地址: https://gitcode.com/gh_mirrors/eh/E-Hentai-Downloader 在数字资源管理领域,E-Hentai作为知名的漫画…...
C++程序崩溃别慌!手把手教你用backward-cpp+glog捕获并记录堆栈信息(附完整CMake配置)
C程序崩溃别慌!手把手教你用backward-cppglog捕获并记录堆栈信息(附完整CMake配置) 深夜两点,服务器告警突然响起。你揉着惺忪的睡眼查看日志,只看到一行冰冷的"Segmentation fault"——没有调用栈…...
