自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 [图像处理]图像美化

本文介绍了图像处理中的颜色直方图、直方图均衡化、高斯均值滤波和中值滤波四种常用方法。颜色直方图通过统计RGB分量分布来表征图像颜色特征;直方图均衡化通过灰度变换增强图像对比度;高斯滤波采用加权平均方式实现平滑去噪;中值滤波则通过邻域像素排序取中值的方式有效消除椒盐噪声。每种方法都给出了代码实现示例,并分析了其原理、特点和应用场景,这些技术为图像增强和预处理提供了重要手段。

2025-11-04 15:05:44 938

原创 hugging face 入门----[Part4]验证训练后的模型参数

Part3 已经完成了微调模型的训练,得到的训练后的参数放在指定文件夹中,输出结果:下面的结果中只有第一条和验证集的结果是不符合的,所以准确率还算比较高的。验证集的结果为,正面评价(PS:个人觉得这个其实也算负面评价)('可能是建的时间比较早吧,感觉内部不是很突出了.', 1)这里选取最后一次训练得到的模型参数来验证我们的训练结果。

2025-08-13 10:44:59 241

原创 hugging face 入门----[Part3]模型训练微调

我们需要构建一个类,来处理下载下来的数据,那么根据什么来提取对应的数据内容呢,保存到本地的dataset会有一个dataset_dict.json文件来描述当前数据集是如何分类的。可以看到三个数据集test,train,validation是以splits这个标志位来区分的,所以我们利用这个来读取我们需要的数据。训练所需的数据的来源也是dataset,dataset保存到本地之后会有三个目录test,train,validation。我们这里需要训练模型,所以选用train文件夹中的数据。

2025-08-11 15:10:15 880

原创 hugging face 入门----[Part1]模型使用

HuggingFace是一个专注于自然语言处理的开源平台,提供Transformers库、ModelHub模型中心等工具。使用HuggingFace需要注册账号并获取API token。模型调用分为在线和本地两种方式:在线调用易失败,推荐下载模型到本地使用。本地调用需下载模型文件(如config.json、pytorch_model.bin等),并通过AutoModelForCausalLM等类加载。文本生成可通过调整temperature等参数控制输出多样性。大模型训练需要准备模型和数据集,通过自定义Da

2025-08-11 10:19:16 840

原创 hugging face 入门----[Part2]数据集dataset使用

HuggingFace数据集调用方式分为在线和本地两种:使用load_dataset在线调用时需保持网络畅通,首次调用会自动缓存到本地(路径为~/.cache/huggingface/datasets/);通过save_to_disk可将数据集保存至指定路径。本地调用使用load_from_disk加载已下载的数据集,无需联网。数据集通常包含训练集、验证集和测试集,以arrow文件格式存储,结构包含特征字段(如text/label)和数据量信息。

2025-08-06 15:14:14 529

原创 [Pytest][Part 5]单条测试和用例集测试

这里完成需求3:可以运行单条test case,也可以根据case list 来运行list里面的case这一部分比较简单,将pytest的运行命令封装一下就可以完成需求。

2025-07-15 14:58:01 619

原创 [Pytest][Part 4]多种测试运行方式

本文介绍了一种灵活的测试配置管理方案,通过TestConfig类集中管理测试配置参数。系统支持两种运行方式:1)通过配置文件(config_file.txt)读取配置,包含测试类型、用例列表、重复次数等参数;2)通过命令行参数获取配置。核心逻辑由FunctionApi类实现,根据use_config标志决定采用哪种方式,最终将配置信息统一填充到TestConfig对象中。该设计实现了配置与执行逻辑分离,提高了测试系统的可维护性和扩展性,支持后续增加新的测试配置项。

2025-07-09 14:23:11 875

原创 [Pytest] [Part 2]增加 log功能

开始实现需求之前先做个log类,可以给其他模块使用,也方便以后修改log类的功能和属性。这样的话以后在新建类的__init__中可以实例化logger类来使用。使用的是python中的logging包来进行简单的封装,具体代码如下。

2025-07-03 16:19:15 272

原创 [Pytest][Part 3]检测python package状态

文章摘要:本文介绍了如何在Python测试前自动检查并安装所需依赖包。通过pkg_resources库检测包状态,结合subprocess执行pip安装命令,实现了对requirements.txt中指定包的自动检查与安装功能。同时利用pytest的hook机制,在pytest_sessionstart阶段自动触发包状态检查,确保测试环境准备就绪。该方法简化了测试前的环境配置工作,提高了测试执行效率。

2025-07-03 14:20:58 981

原创 [Pytest][Part 1]Pytest 自动化测试框架

本文介绍了基于pytest框架开发自动化测试脚本的过程。主要内容包括:1)测试前自动检查并安装缺失的Python包,通过conftest.py实现;2)支持命令行和配置文件两种运行方式;3)可执行单条用例或用例列表;4)使用allure生成HTML测试报告并自动发送邮件。关键技术点包括:利用pkg_resource检测环境包状态、配置中心化管理的config.py文件、通过hook机制实现邮件发送功能。该方案实现了测试流程的自动化,提高了测试效率。

2025-07-02 16:26:49 373

原创 OpenCV 图片处理与绘制

将彩色图像转化为灰度图像的过程是图像的灰度化处理。彩色图像中的每个像素的颜色由R,G,B 三个分量决定,而每个分量中可取值0-255,这样一个像素点可以有1600 多万(256*256*256=1677256)的颜色的变化范围。而灰度图像是R,G,B 三个分量相同的一种特殊的彩色图像,其中一个像素点的变化范围为256 种,所以在数字图像处理中一般将各种格式的图像转化为灰度图像以使后续的图像的计算量少一些。灰度图像的描述与彩色图像一。

2024-11-18 15:40:50 2009

原创 OpenCV的操作

第一个参数图片的存储路径,第二个参数是图像的读取方式。

2024-11-06 16:30:39 1546 1

原创 指令——计算机的语言(part 2)

另一种方式是只编译和汇编每个函数,这样使得代码的改变只用编译和汇编有改动的函数,其他的不需要重新编译,这样就节省了一大部分计算机资源。如果外部引用都解析完了,链接器会决定每个模块将要占用的内存的位置。因为所有模块都是独立编译的,所有编译器不清楚这些模块在内存中的位置,那么当程序被放到内存中的时候就需要链接器来决定各个模块的绝对地址,即于寄存器无关的所有地址都必须重新定位用来反映真实的地址。基于以上的缺点,就出现了动态链接库的概念,只有在程序运行的时候这些库才会被链接加载,这样就减少了程序的大小。

2024-09-12 16:09:38 681

原创 指令——计算机的语言(part 1)

由于寄存器的数量是有限的,有的函数有时需要用到多与寄存器数量的参数。计算机中的指令和人操作计算机的指令是有一定差别的,指令在计算机中就是一串高低电平序列,可以对应于二进制的0101这种,但是由于指令较长,MIPS 指令有32位,又由于计算机数据大部分都是4位二进制符号,因此可以用16进制来表示计算机指令。在文章开始的第一个计算机结构图里面,处理器内部只保存少量的待处理的数据,大部分的数据还是需要从存储器中输入,因此计算机是如何把数据从存储器中读取到寄存器中的呢?栈指针是按照一个寄存器的大小来调整的。

2024-09-06 17:09:33 1256

原创 [Python]锁

在开发中,锁可以理解为通行证。当你对一段逻辑代码加锁时,意味着在同一时间有且仅能有一个线程在执行这段代码。互斥锁可重入锁。

2024-05-13 17:21:54 1679

原创 python 多线程

join()函数有一个特性就是主线程必须等待子线程完成才能开始后面的工作,所以当主线程除了等待子线程完成之外,还需要在子线程运行的同时做其他事情,那么子线程就可以不调用join(),只调用start()函数来运行线程也可以。新建的进程默认不是守护进程,如果要设置成守护进程,可以在thread.start 之前,用thread.setDaemon(True)来设置这个进程为守护进程,也就是“不重要”进程。举个例子:用threading创建两个进程并在进程中运行函数loop(),采用的上面的方法1。

2024-03-29 18:16:25 466

原创 [Machine Learning][Part 8]神经网络的学习训练过程

根据需求建立模型,从前面神经网络的结果可以知道,每一层都有若干个模型在运行,因此建立神经网络就需要先根据需求确定计算模型,也就是得到 逻辑回归模型公式为: 上面三层的神经网络的代码实现为: 例如线性回归的 二分法逻辑回归的损失函数为: 代码实现为:三、寻找最小损失函数的(w,b)组合梯度下降法: 代码实现为:循环100次可以看到在建立模型的过程中,代码中使用了activation激活函数。如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的

2023-11-03 11:30:10 1540

原创 [Machine Learning][Part 7]神经网络的基本组成结构

这里我们将探索神经元/单元和层的内部工作原理。特别是,与之前学习的进行比较。最后接介绍tensorflow以及如何利用tensorflow来实现这些模型。神经网络和大脑的神经元工作原理类似,但是比大脑的工作原理要简单的多。大脑中神经元的工作原理如下图:inputs表示上一个神经元传递过来的信号,然后经过当前神经元的处理,当前神经元将处理后的信号传递给下一个神经元,这样基本的信号传递就完成了。

2023-10-31 13:57:32 1096 1

原创 [Machine Learning][Part 6]Cost Function代价函数和梯度正则化

线性回归模型和逻辑回归模型都存在欠拟合和过拟合的情况。

2023-10-18 14:55:16 874

原创 [Machine Learning][Part 5]监督学习——逻辑回归

之前文章中提到监督学习的应用可分为两类:线性回归和逻辑回归。和线性回归不同,逻辑回归输出只有0和1。对于一个逻辑回归任务,可以先使用线性回归。然而我们希望逻辑回归预测模型输出的是0和1,为了达到这个目的,我们使用sigmoid()来把线性回归预测的输出y映射到0和1之间。公式中的z表示的是线性回归模型中输出的结果y。m个training data的情况下,y是一个含m个value的向量。用图形表示sigmod的输出样子是:可以看到输出区间始终在0到1之间,输入z越大,越趋近于1,反之趋近于0。

2023-10-12 14:27:28 710

原创 [Machine learning][Part4] 线性回归模型技巧

这种方法可以不多次迭代梯度下降函数就能得到w,b。但是缺点是在大量数据训练情况下效率较低,其次是这种算法仅仅在线性回归中实现了,并没有在其他模型中实现,因此,实际情况下的使用率不高。这里了解有这么个概念即可。

2023-10-10 13:56:50 588

原创 [Machine learning][Part4] 多维矩阵下的梯度下降线性预测模型的实现

之前部分实现的梯度下降线性预测模型中的training example只有一个特征属性:房屋面积,这显然是不符合实际情况的,这里增加特征属性的数量再实现一次梯度下降线性预测模型。(w,b) ——损失函数或者代价函数(2)损失函数值最小的时候,模型最接近实际情况:通过梯度下降法来寻找最优w,b组合。

2023-10-09 11:25:18 1209

原创 [Machine learning][Part3] numpy 矢量矩阵操作的基础知识

很久不接触数学了,machine learning需要用到一些数学知识,这里在重温一下相关的数学基础知识。

2023-09-27 15:03:06 974

原创 [Machine Learning][Part 2]监督学习的实现——梯度下降线性模型

实现一个简单的监督学习的模型:预测part1 中提到的买房模型。模型中有一个输入参数:房子面积 (单位:1000平方)x;一个输出结果:房子价格:y(单位:千美元)x_train中保存的是房子面积的集合,y_train中保存的是对应面积房子的价格。

2023-09-23 16:01:14 341

原创 [Python]Open CV 基础知识学习

Open CV 在图像处理与目标检测中应用比较广,因此来学习一下基础知识。

2023-09-20 17:44:56 535

原创 Python 数据库——链表

链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表在逻辑上是连续的,但是在物理空间上可能是不连续的,因为链表的内存都是临时申请的,不一定会申请到连续的内存空间。常用的链表有单向链表和双向链表。这里主要介绍单项链表。单项链表的组成节点有两部分构成:数据和下一个列表的存储地址。单节点结构图:链表结构图:可以看到每一个节点中的addr都指向下一个节点的地址,phead为整个链表的头节点,不能改变,否则就会找不到整个链表。

2023-09-12 18:07:10 5249

原创 [Machine Learning][Part 1]监督学习和无监督学习

例如,对房价的判断,训练样本为过去2年不同面积的房子的价格,输入x为面积,输出y为房子价格。与应用1 数据回归预测有多种不同的输出不同,分类的输出只有两种:是 or 不是。与监督学习不同的是,无监督学习不需要指定y作为正确的label来训练模型,模型可以自己根据样本集的特征将样本集中的数据划分为不同的类群。下图中可以看出左边的监督学习是把数据分为正确的和错误的,而右边仅仅是把相似的数据放在一起,形成了两个不同的数据集。选项4:将病人分为两类:有糖尿病和无糖尿病的,因此是监督学习,属于监督学习中的分类应用。

2023-09-04 17:41:53 293

原创 Python之装饰器

在不改变原来内部代码的情况下可以增加新功能,符合开闭原则。

2023-08-14 17:47:02 102

原创 Pytest 重复执行用例插件----pytest-repeat

在自动化过程中,想要重复执行一条脚本,查看他的稳定性,如果是在unittest框架中,可能会使用for一直循环这条用例,但是当我们使用pytest框架后,我们就可以通过某些插件来实现这个功能了。今天介绍的这个插件就是重复执行某条用例或者某些用例。

2023-08-03 15:07:29 1774

原创 PyTest 的基本用法

pytest] # 命令行参数 addopts = -s # 搜索文件名 python_files = test_*.py # 搜索的类名 python_classes = Test_* #搜索的函数名 python_functions = test_*在做接口测试时,有事会遇到503或短时的网络波动,导致case运行失败,而这并非是我们期望的结果,此时可以就可以通过重试运行cases的方式来解决。------->teardown_class # 第一次 teardown_class()

2023-07-07 16:12:30 1016

原创 Pyhon 中分辨numpy产生的数据的维度

size=****,表示的是要产生的数组形式,这里表示产生一个3*4*5*6的数组。参数也可以是1*2,2*3等等,表示产生一个1*2的一维数组,和2*3的二维数组。下面分别查看数组成员,可以看到a[0]是以3个中括号结尾的第一个数组,是一个4*5*6的数组。*4*5*6的数组,所以a[x]中的最大值x只能取到2(可取0,1,2)最外层的数组看完了,进一步看第二层的数组,这是一个5*6的二维数组,最后一层数组: ,最大可取到a[2][3][4][5]下面输出第三层数组,最大可取到:a[2][3][4]

2023-05-19 14:22:45 728

原创 [Python]面向对象

python 面向对象的三个特征继承、封装、多态

2022-11-16 17:28:50 218

原创 [Python]双层for 循环

以对角线为分割线,讲对角线下半部分的元素与上半部分的元素交换位置即可。

2022-09-19 15:01:44 4312

原创 [Python]集合set

python 基础知识之集合set

2022-09-14 17:18:27 409

原创 [Python]字典与列表的使用

python 中字典和列表的嵌套使用

2022-09-09 15:48:36 1256

原创 Pyhton循环嵌套——乘法口诀表

嵌套循环的基础用法,打印乘法口诀表:基础算法是row * col每一行打印当前行的乘法口诀。所以外圈循环以行数row为循环变量,每一行里面的列数col不能大于行数row,因此:1. 当row 小于9 时,打印每一行的乘法口诀2. 在每一行中,打印不同列col的乘法口诀,其中col 小于当前行数所以一共有上面两个循环结果:...

2022-07-01 19:21:49 857

原创 成功解决pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 4, saw 2

问题描述:Traceback (most recent call last): File "C:/Users/Lenovo/Desktop/水泥数据/dataprocess1.py", line 8, in <module> data1 = pd.read_csv("doubledata.xlsx") File "D:\Users\Lenovo\miniconda3\lib\site-packages\pandas\io\parsers.py", line 676, in

2022-05-16 17:11:35 9308 1

原创 Jupyter Notebook 安装过程记录

无意中发现了Jupyter Notebook这个在机器学习比较火的编译器,刚好自己准备学习一下机器学习方面的知识,就下载安装了一个。1、安装一个python,最好版本新一点的,我安装的是py3.8。2、更新pip到最新python -m pip install -U pip setuptools3、pip更新完成之后,开始安装jupyter notebook,我使用的是pip 安装,没有使用Anaconda 来安装#For Python2pip install jupyter#

2022-05-12 16:10:03 2359 2

原创 JAVA基础之线程

使用Thread.sleep()方法输出26个字母,间隔1秒。package com.threaddemo;import java.util.ArrayList;class Letter implements Runnable{ private ArrayList<Character> letter = new ArrayList(); public ArrayList getLetter() { return letter; } public void se

2022-05-12 15:26:49 124

原创 JAVA基础之多线程通信

weather类:package com.threadcommunicate;public class Weather { private int temperature; private int humidity; // flag = false ,生成数据;flag = true, 读取数据 boolean flag = false; public synchronized void getweatherData() { if(!flag) { try {

2022-05-12 15:26:20 188

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除