- 博客(91)
- 收藏
- 关注
原创 Llamafactory的使用(3)
模型量化是一种模型压缩技术,其核心思想是将模型参数(如权重和激活值)从高精度数据类型(通常是 FP16 或 BF16,占用 16 位)转换为低精度数据类型(如 INT4 或 INT8,占用 4 位或 8 位)。模型量化是一种模型压缩技术,其核心思想是将模型参数(如权重和激活值)从高精度数据类型(通常是 FP16 或 BF16,占用 16 位)转换为低精度数据类型(如 INT4 或 INT8,占用 4 位或 8 位)。但在 INT4 级别,大多数模型的性能下降是可以接受的。
2026-04-09 11:07:56
380
原创 98765热
模型量化是一种模型压缩技术,其核心思想是将模型参数(如权重和激活值)从高精度数据类型(通常是 FP16 或 BF16,占用 16 位)转换为低精度数据类型(如 INT4 或 INT8,占用 4 位或 8 位)。模型量化是一种模型压缩技术,其核心思想是将模型参数(如权重和激活值)从高精度数据类型(通常是 FP16 或 BF16,占用 16 位)转换为低精度数据类型(如 INT4 或 INT8,占用 4 位或 8 位)。但在 INT4 级别,大多数模型的性能下降是可以接受的。
2026-04-09 11:06:30
305
原创 123456
模型量化是一种模型压缩技术,其核心思想是将模型参数(如权重和激活值)从高精度数据类型(通常是 FP16 或 BF16,占用 16 位)转换为低精度数据类型(如 INT4 或 INT8,占用 4 位或 8 位)。模型量化是一种模型压缩技术,其核心思想是将模型参数(如权重和激活值)从高精度数据类型(通常是 FP16 或 BF16,占用 16 位)转换为低精度数据类型(如 INT4 或 INT8,占用 4 位或 8 位)。但在 INT4 级别,大多数模型的性能下降是可以接受的。
2026-04-09 11:05:46
162
原创 Llamafactory的使用(2)
在大模型微调中,通常所说的“三种微调方式”主要指全量微调、LoRA微调和QLoRA微调。它不包含可执行代码,仅存储张量数据,因此在加载来自不可信来源的模型时更安全,且支持零拷贝加载,速度极快。训练一个70亿(7B)参数的模型,可能需要80GB甚至更多的显存,对硬件要求极高,训练速度也慢。:首先将原始模型的精度从16位(FP16)压缩到4位(NF4),这能让模型体积缩小约75%。不改动原车核心,成本低,效果显著,还能随时拆下。:由于引入了量化,会带来微小的精度损失(通常小于1%),但换取的是巨大的资源节省。
2026-04-01 11:09:36
475
原创 Llamafactory的使用(1)
登录魔搭社区,绑定支付宝,就有免费的额度,在notebook中选择最gpu环境选择默认的,启动之后点击查看notebook就能打开我们的云服务器了。1.微调配置文件一些参数,微调其实就是训练,这里我们训练好的模型会有一个新的权重参数,被我们保存在output下的路径里面。选择我们需要微调的模型,点击下载模型,选择命令行下载,复制命令在我们云服务器终端上输入回车即可,和在本机上是一样的。在之前的博客中也有提到,模型微调需要的环境,一般的电脑是无法支持的,所以这次我们操作的环境是网上的云服务器。
2026-03-31 18:13:47
577
原创 汽车零件分类报警系统(4)
if多条件过滤,同时满足,i[1][1]也就是置信度大于0.92,ma(提取到有效编码),i[0][0][0]也就是识别框x坐标在固定区域内,mianji(识别框面积)大于1000。摄像头3可能检测的是放在牛皮纸包装上的零件编码,或者零件本身是牛皮纸颜色,只有当画面中有足够面积的牛皮纸时,才说明有零件到位,避免在空工位或无零件时进行无意义的OCR识别。这里result的结构其实就是paddleOCR的返回格式,列表的元素也是一个列表,分别是文字块的四个点坐标列表,和识别出的文字&置信度列表,大致如下。
2026-03-29 08:19:56
478
原创 汽车零件分类报警系统(3)
数据处理与投票机制,list_zong1,3次识别的原始结果(被装饰器控制),过滤掉只出现1次的结果(可能是误识别),set_bing替换掉易错的字符,然后取历史结果中出现最多的编码。摄像头2:3帧识别一次,一秒15帧,所以是5次每秒,摄像头3和摄像头2一样,这是。违规处理,触发报警,显示界面上的警告图标,触发报警器闪光,5000ms=5s,5秒后自动隐藏警告,关闭报警器。触发OCR识别,这里摄像头1是每5帧识别一次,摄像头2是每3帧,摄像头3也是每3帧。,是不能降低的,否则会丢帧。这里涉及到了两个帧率,
2026-03-27 09:09:34
727
原创 汽车零件分装报警系统(2)
函数四:装饰器工厂,用于限制函数执行频率,两个参数,n是调用多少次后才触发,w2set是达到次数后执行的回调函数,每调用一次被装饰的函数,计数器就会+1,当计数是n的倍数时,执行w2set。第一个识别器是启用文字方向分类器(其实就是自动检测并纠正一些倾斜旋转的文字,适合识别角度不确定的图片,但是识别速度就会下降),并且使用GPU加速,识别的是英文。关闭识别时,状态切换为False,按钮文字变为打开,停止定时器就停止了识别,发送关闭命令,停止所有将抱起的声音和闪光,隐藏所有警告标签,中指界面状态。
2026-03-25 15:56:30
545
原创 汽车零件分装报警系统(1)
函数三:统计某个文本在列表中出现的次数,输出参数有两个,第一是我们需要查的文本,第二个是我们查找的列表。定义控制警报器的命令,后续用来发送指令。说白了,这个函数的作用就是每隔30分钟自动重启一次摄像头(time.sleep(1800)),防止摄像头长时间运行出现卡死,掉帧,无响应等问题,定期重启可以释放内存资源,重置摄像头状态,避免程序崩溃,。函数四:计算OCR识别框的面积,输入就是OCR识别的四个角坐标点,输出是识别框的面积,利用坐标点求面积,过滤掉面积过大或者过小的误识别结果(比如噪声,背景文字等)。
2026-03-25 14:51:07
609
原创 大模型:Agent(智能代理)
agent读取指定路径的CSV文件,将用户问题转化为pandas代码,执行代码获取结果并输出。create_csv_agent:专门用于数据分析的agent创建函数。最基础的 Agent 创建流程。我们定义了一个计算文本字数的工具,并让 Agent 使用它。使用 LangChain 提供的现成工具,让 agent 能够执行 Python 代码。PythonREPLTool:一个强大的工具,让agent能够执行任意Python代码。在此之前我们需要确定一下环境,网盘分享的是我们第三方库的配置环境。
2026-03-20 08:53:43
621
原创 大模型:检索增强生成(RAG)
简单来说,RAG就是让大模型在回答问题之前先"查资料"。传统的模型只能依靠训练时学到的知识,而RAG可以让模型实时检索外部知识库,获取最新、最准确的信息,然后基于这些信息生成答案。这样既解决了模型知识更新的问题,又能避免模型"胡编乱造"。
2026-03-18 10:47:20
688
原创 大模型:引入记忆模块
运行结果:运行上面代码,我们会发现,运行到第二个问题的时候他并不知道所谓的他是谁,可见正常情况下,模型是没有记忆的,上面两个问题是两个独立的对话。要想让模型有记忆,我们要引入记忆模块。
2026-03-18 10:46:54
649
1
原创 大模型:使用langchain库调用大模型(2)
CommaSeparatedListOutputParser:将模型输出转为列表。PydanticOutputParser:将模型输出转为结构化对象(如 JSON)。链式调用(LCEL):通过管道操作符简化流程,提升代码可读性。输出解析器解决了“模型输出难以直接使用”的痛点,而链式调用则让流程组织更加优雅。掌握这两个工具,将大大提升你构建 LLM 应用的效率。
2026-03-17 09:18:41
475
原创 模型部署:基于flask和pytorch
接收来自客户端的信息,24小时运行将模型部署起来对图片进行识别将识别结果返回给客户端# 读取图像文件# 预处理图像@app.route("/predict", methods=["POST"]):装饰器,将URL路径"/predict"与predict函数关联,并指定只处理POST请求data = {"success": False}:初始化返回数据,success默认为False。
2026-03-17 09:04:10
802
原创 大模型:使用langchain库调用大模型(1)
可以把以下写入一个txt文件,在python编写工具里,这里我使用的 是pycharm,就在pycharm终端里面执行pip install -r 文件地址,就可以全部直接下载了。在本地和网页使用ai的区别就在于服务器不同,一个是厂家服务器一个是自己电脑上,一个联网一个不联网,Token数不一样,用人家服务器可能要计费,部署在自己电脑上就不需要计费。2.左上角点击大模型,选择我们想要调用的模型,这里选择千问3.5,也可以选择别的。这里我们设置一个虚拟环境,因为对库的版本要求不同,防止冲突。
2026-03-16 10:51:48
509
原创 大模型(2):大模型推理文本分类
其实就是模型在进行上面工作的时候,留下的备注,就像我们预习课文的时候,标标画画,备注上自己能理解的需要注意的。model.generate():这是模型开始工作的核心函数,根据我们的输入,一个token一个token的预测接下来可能出现的token(其实token的意思就是最小的切分单元,就像一个字对人类来说是最小的切分单元一样,我们读文章可以说成逐字阅读,模型就是逐token){}是一个占位符,里面就放我们问模型的问题。model_name:这里填入的是我们下载的模型文件地址,上篇文章中就是模型的下载。
2026-03-12 19:48:30
533
原创 大模型(1):ollama&大模型相关介绍&开源平台&模型下载
模型的图书馆,为大模型提供外部知识源的概念,使他们能够生成准确且符合上下文的答案,同时能够减少模型幻觉。
2026-03-12 19:48:17
678
原创 github基础入门(3):版本控制(提交,分支删除,提交规范)
然后可以看见github上有pr,然后创建一个pr请求,手动解决冲突然后合并分支删除分支,在本地执行回到原先状态。找到要删除的分支 → 点击右侧「⋯」→ 选择「Delete branch」;打开仓库页面 → 点击顶部「Code」→ 右侧「Branches」;确认删除即可(如果分支被保护,会提示无法删除)。需要现在本地进行先执行merge一下。批量删除本地已合并的分支。
2026-03-09 08:55:39
517
原创 github基础入门(2):仓库创建与项目提交&追踪一个项目&git分支
是一种轻量级的分支策略,其核心是主分支(main/master)始终处于可部署状态,所有新功能都在短期存在的功能分支上开发,完成后通过Pull Request合并回主分支。冲突的核心原因是:两个不同的分支,修改了同一个文件的同一行 / 同一部分代码,Git 不知道该保留哪一个版本,只能暂停合并,等你手动决策。Git 分支的本质就是:对代码库的一份 “独立快照”,分支之间互不干扰,你可以在任意分支上修改代码,不会影响其他分支。场景 3:分支长期未合并,主分支已更新。场景 2:自己在不同分支改同一文件。
2026-03-09 08:55:18
851
原创 github基础入门(1):github介绍,注册,ssh配置
可以打开github网页右上角图像查看,邮箱就是我们注册的时候所用的邮箱# 配置用户名(替换成你的,比如 "zhangsan123")# 配置邮箱(替换成你的,比如 "zhangsan@xxx.com")#例如我的注意这里每一个都有两个命令这是和上面对应的,如果上面命令你选择了rsa的那条,那公私钥的路径就是第一个,如果上面命令选择了ed25519那个,那么路径就是第二个私钥的路径:(绝对不能泄露!泄露后私钥会失效);#或者公钥的路径:(等下要复制到 GitHub)。#或者。
2026-03-08 17:37:31
1128
原创 深度学习之YOLO目标检测(3):yolov4&yolov5
模型训练过程中会产生新的东西,runs文件夹使我们每一次运行保存下来的信息,及时运行没有成功也会存下来,如果运行成功并训练好了,就只需要点开runs文件夹里面最后一个exp文件夹。(注意,这里的github网站进入会有些问题,这是因为github网站是境外网站,需要加速器或者翻墙,这个问题需要自行解决,用户注册可以用qq邮箱注册,如果一直注册不成功也是因为上面原因)和v3差不多,也有不同,我们不需要修改classes,会自己识别,但依旧要模仿写coco文件,GIoU → CIoU,检测框的更加准确。
2026-03-06 20:47:30
453
1
原创 图形界面+opencv显示图片/视频/摄像头&虚拟环境搭建&OCR图片文字识别打印
点击进入终端,这里注意,一开始很多人刚进来的时候可能会有几段红色文字,这时候我们需要检查红框那段前面是否有个括号里面是我们虚拟环境的文件夹,有红色字体的那些人就是没有成功进入虚拟环境的终端里面,如果下载第三方库,还是下载到了我们真实环境中。这里我们添加一个小知识,就是pycharm虚拟环境的搭建,这个后面会用到,主要就是有一些第三方库他们之间会有冲突,不兼容等,搭建虚拟环境之后就可以在虚拟环境中运行那些有冲突的第三方库代码。出现提示输入y回车,表示同意,然后重新进入一下终端就行了。
2026-03-04 19:19:38
569
原创 搭建PyQt5开发环境&QtDesigner界面设计&PyUIC代码文件生成
然后在同目录下建一个py文件,输入下面代码,注意第五行,这里我写入的是jieshao是因为我设计的ui文件名字叫做jieshao,每个人不同,可以根据自己的去设置,因为刚才我们设置界面的时候使用的是自带的函数,所以这里的定义要出发的函数我们就没有要写的,如果我们在界面中按钮功能是自定义的,那这里就是写我们自定义函数的位置。当然这里只是先定义一个函数名,具体功能等会我们需要写一个代码文件,还有就是这里的括号必须是英文格式的,如果你的键盘处于中文,括号是打不出来的,包括定义的函数名中下划线也是。
2026-03-04 17:05:57
569
原创 深度学习之YOLO目标检测的介绍(1):yolo概念&指标&yolov1&yolov2
30维度中有十个维度是两个边界框的信息数值,每个网格都会有两个预测框,每个框有五个参数数值,x、y、w、h、confidence(置信度),x、y是这个框的中心点坐标,w是宽,h是高,宽和高都会被归一化。下面这张图是四个模型的对比四个模型分别是SSD300,SSD500,YOLOv2,Tiny YOLO(Tiny代表精简版的意思)。,v1训练的时候用的是224*224,测试时用的是448*448,v2训练时额外进行了10次448*448的微调,使用高分辨率分类器后,YOLOv2的map提升4%。
2026-03-02 19:40:36
705
原创 计算机视觉opencv之人脸识别4(年龄性别预测&仿射变换&换脸)
先利用第一个函数,获得人脸包围框,这里需要注意当没有人脸的时候后面循环操作不再进行,程序就是停止。ageProto,genderProto,faceProto这些是模型的配置文件也就是网络结构文件,定义了模型计算图结构,层类型,输入输出尺寸等信息。readNet是dnn神经网络中的一个函数,它用于从磁盘加载已经训练完成并保存好的模型文件。ageModel,genderModel,faceModel这些都是模型的权重文件。这三个模型是已经预训练好的深度学习模型,分别用于人脸检测,年龄估计和性别识别。
2026-02-09 08:59:12
1319
1
原创 计算机视觉opencv之人脸识别3(表情识别&疲劳监测)
本来每个关键点都有个编号,转化为坐标之后,每个关键点就对应了一个坐标,所以这里我们用shape[36:42]这种形式表示。我们使用了第一个函数,shape就相当于函数要传入的eye,所以函数中的eye[1]就表示列表中第二个坐标。A是p1到p5的垂直距离,上眼皮中点到下眼皮中点;表情识别也是基于人脸关键68个点进行的,首先我们要构造脸部检测器然后读取人脸关键点定位的模型。2)MJR函数用来计算嘴颊比,M是嘴宽,也就是上面的D。1)第一个函数MAR用来计算嘴的宽高比,也是利用人脸68个关键点进行操作的。
2026-02-07 08:59:40
662
原创 深度学习用于自然语言处理:CBOW训练和测试
log_softmax提前现在这里做一个交叉熵函数(可以把大的值变得越大,小的越小,拉大之间的差距,方便后面对比),其实就是把交叉熵损失函数拆成两部分进行。词嵌入字典是不是就相当于人类的字典一样,这个字典是给机器使用的,方面以后机器进行理解词义的时候使用,尤其是压缩词的时候。前向传播进入神经网络模型forward,context_vector就是我们传入的参数,对应input,在下面内容展示中我们知道context_vector的内容其实就是目标词上下文词张量矩阵。为我们下面词嵌入字典的保存做准备。
2026-02-06 09:01:53
931
原创 计算机视觉opencv之人脸识别2(FisherFace人脸识别&dlib人脸识别&68个人脸关键点定位&人脸轮廓绘制)
例如:cp39就是python3.9,文件下载之后在文件管理器中找到,右击复制文件地址。和别的第三方库不同的是,这个第三方库不能直接pip install dlib进行下载。设置了两个函数,一个是不闭合的,一个是是闭合的,眼睛嘴巴这里我们需要的是闭合,眉毛等其他地方不需要闭合。win+r,cmd,输入 pip install +文件地址,就可以下载成功了。轮廓绘制是基于人脸关键点进行绘制的,所以我们也要先对人脸进行关键点定位。这里是对图片进行人脸识别,可以修改为对视屏进行人脸识别显示名字。
2026-02-05 10:38:35
954
原创 计算机视觉opencv之人脸识别1(CV2自带人脸识别&LBPH人脸识别&EigenFace人脸识别)
这里我们要介绍一下置信度的含义,置信度和准确率是不一样的。但是置信度高并不代码预测就是对的,置信度是模型训练之后,有一套自己的判断规则之后,进行预测一个新数据,他会有几个预测的结果,其中模型觉得哪个可能性最大就会输出哪个,所以置信度高只是模型自以为的可能性最大的结果。注意,这里我们的文件要在同目录下,上面也有说过,意思就是 下面这样,我们在1人脸识别这个代码中使用到了这个文件,如果直接写这个cv2中人脸识别的文件名就要确保该文件也在这个文件目录下,这里两个文件都在人脸识别这个目录下。标签-1就是无法识别。
2026-02-04 21:04:33
1123
原创 深度学习的补充:神经网络处理回归问题(人脸关键点识别)&自然语言处理的介绍及深度学习用于自然语言处理
人理解词语的意思是根据词的含义,而对于不同的词机器要区别他们的含义,就是把各种词转为为向量,每个词对应一个向量,相同含义意义的词向量基本重合,这就是机器学人类语言的方式也就是自然语言处理。这里我们的正文是英文,如果是中文,分词还是分字都是可以的,进行分词之后,只是把文章中的词给单独分出来,一篇文章中会有重复的词,所以下面我们就要创建集合,数学中集合的特点就是其中元素不重复,都是独一无二的。CBOW:以上下词汇预测当前词,就是预测词wt,用已知的前n个词和后n个词,相当于我们学习英语的时候做完形填空。
2026-02-03 18:02:16
1283
原创 深度学习的补充:残差网络ResNet(迁移学习)&神经网络做回归(人脸关键点)部分
这里其实就相当于搭建网络,和之前定义cnn类一个性质,加载好别人训练好的模型之后,就要把所有层w权重修改权限全部冻结,然后对最后一层(也就是我们要训练的那一层进行修改),原模型的输出是1000个神经元,但是我们食物分类里面拢共是20个类别,所以这里我们设置为20。上面是我们利用神经网络进行分类,除此之外神经网络也能进行回归,回归问题预测一般都是连续值,一般我们进行分类对训练的模型评估标准是召回率,正确率,准确率这些,做回归的时候我们的评估标准是R²,在之前机器学习的时候我们也有提到过回归的评估标准。
2026-02-02 11:28:00
913
原创 深度学习的补充:训练模型(优化器&调度器&保存模型)&批量测试(模型加载)&残差网络(迁移学习)的引入
首先预处理,因为我们当时训练模型就是在数据标准上训练的,所以模型适应标准化的图片,这里测试输入的测试图片也要经过尺寸和标准化的处理,是为了适应模型,像之前的旋转等操作因为哪些操作是用来训练模型的,这里就不需要了。上面我们训练好并保存下了最优模型,下一步就是要测试,这里就会涉及到模型的使用,方面和模型保存进行对应,所以我们先来介绍模型的使用方法,之后再进行测试。和训练模型的时候结构是差不多的,但因为我们是测试所以不需要训练,关于train的一些代码可以删除,数据预处理,读取图片,测试函数。
2026-01-30 09:01:24
1027
原创 计算机视觉opencv之DNN模块实现风格迁移
out = net.forward()是执行神经网络的前向传播,输入数据经过网络各层计算,out是模型的原始输出,通常是多位数组,这里out是四维的B*C*H*W(B: batch图像数量(通常为1),C: channels通道数,H: height高度,W: width宽度)这里我们是对单张图片进行处理,批处理这个维度是不必要的为了后续方面所以这里我们转化为三维。结果转置一下数组(C,H,W)转置为(H,W,C),也就是(1,2,0),目的是将通道优先转为高度x宽度x通道的opencv图像格式。
2026-01-29 08:58:46
1286
原创 计算机视觉opencv之抠图&流光估计&物体追踪
注意我们按键的时候要保持输入法是英文格式下,s键按下后窗口视频会暂停,长按鼠标左键框选需要追踪的物体,如果想取消框选就按c键,如果没取消框选好物体后按空格或者回车就可以继续进行,追踪物只要在镜头中就会被框出来,这个就是物体追踪。这里的old_gray是前一帧灰度图,frame_gray是当前帧灰度图,p0是前一帧的特征点,返回p1为当前帧中对应特征点的位置,st是状态,1就是追踪成功,0就是失败,err是误差值。可以自行查找选择合适的。3.在提取边缘的基础上,查找轮廓并选取扇子的外轮廓,生成相应的掩膜;
2026-01-28 13:28:36
966
原创 计算机视觉opencv之检测视频中四边形表&视频建模
在之前我们也有提到摄像头的使用,其实摄像头和图片本质上是一样的,视频就是对每一帧的图片进行处理,所以,要想连续处理视频的每一帧我们就要使用while True死循环,然后图片怎么处理这里的怎么处理,图片我们能使用cv2.waitKey(0)把他定格在那里但是对于视频我们就需要让他流畅播出,所以才要修改成cv2.waitKey(1)。其中我们对每一帧的处理和答题卡识别是一样的,可以参考答题卡识别的解释。主要用于后续的腐蚀、膨胀、开、闭等运算。视屏中有很多人在走动我们的目的就是对这些人进行识别框选。
2026-01-27 08:51:57
568
原创 计算机视觉opencv之答题卡识别
four_point_transform(image, pts)透视变换(拉直),这个也在透视变换中使用过,就是取出矩形边最大距离作为输出图像的宽高,并对目标定位,左上为原点(0,0),右下为(maxwidth-1,maxheight-1),然后进行矩阵变换,用源坐标(rect)和目标坐标(dst)计算单应性矩阵,进行投影矫正,这一函数总的来说就是将任意四边形区域变换为正矩形图。边界框是(x,y,w,h),i=0的时候,是x。i=1的时候,是y。预处理是为边缘检测准备的,逐渐增强图像的特征。
2026-01-26 09:01:10
951
原创 计算机视觉opencv之指纹识别补充&图片拼接&思考
上面我们图像拼接是对b图进行透视转化,把透视的b图拼接在a图的右侧,思考我们能不能对图a进行透视,把a图拼接在b图的左侧。如果要对应上人的姓名这里我们新增两个函数,一是在这这个函数里面进行指纹匹配,获取匹配成功这个指纹图片的编号,二是创建字典每个编号对应一个人。1.上篇博客中讲到指纹识别以及对匹配上的点标出,这次我们实现让匹配对应的点连接起来,从连接的线上反应匹配的程度。展示zuo和you,并对匹配上的特征进行连线,这点和指纹识别是一样。指纹识别,和哪个编号的指纹对应上就调用函数对应的个人名字。
2026-01-23 20:23:05
1180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅