自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大语言模型RAG-将本地大模型封装为langchain的chat model(三)

这个类就是本地llm的langchain封装,需要定义以下方法或属性。这是后面构建RAG应用的基础。模型为例,演示最基础使用方法。还在0.1时代,这期使用的。已经与之前不兼容了。

2024-06-05 10:36:36 537

原创 时序数据预处理

对于数据科学来说,凡事“预”则立,不“预”则废。数据的质量直接决定数据挖掘的结果。本文基于pandas和sklearn给出示例。偏重实际应用场景,省略数学原理。

2024-03-26 15:39:56 947

原创 大语言模型RAG-langchain models (二)

嵌入模型的思路是将字符串组成的空间映射到嵌入空间,这个嵌入空间是一个连续向量空间,且嵌入空间与原本的字符空间是同构的。的方法,以便语言模型能与文档交互。这里的文档一般是指非结构化的文档,如文本文档,PDF等等。一般是大模型供应商提供的大语言模型,langchain为不同的模型作了接口。不同的聊天模型怎么使用建议直接看源码,源码的注释可以说是非常友好了。是聊天模型,虽然它是llm的包装,但它的接口基于消息而不是文本。的输入,所以根据语言模型的不同,提示词工程也有不同的构造方法。的接口,是所有应用的核心。

2024-03-14 10:20:02 1237

原创 大语言模型RAG-技术概览 (一)

即大模型在回答问题或生成问题时会先从大量的文档中检索相关的信息,然后基于这些信息进行回答。的概念了:它是LLM应用的一种方法,允许模型按照一定顺序逐步处理信息或任务,将前一步的输出作为下一步的输入。举个例子:GPT的知识停留在模型训练完成的那一刻(2021年),但上层应用不得不使用新鲜的数据。Chain强大且灵活,但缺点也不能忽视:首先长链可能需要更多的计算资源,其次是容错率很低,中间步骤的错误可能会影响后续计算。(对检索到的本地知识排序、总结、融合等,在上图箭头7或11、12的位置)。

2024-03-12 14:33:35 875

原创 彻底搞清楚CUDA和cuDNN版本问题

彻底搞清楚CUDA、cuDNN和torch之间的关系。

2024-03-07 11:55:29 5817 2

原创 在langchain-ChatGLM项目中引入ChatGLM3-6b-128k

【代码】在langchain-ChatGLM项目中引入ChatGLM3-6b-128k。

2024-03-04 10:59:59 950

原创 Dash+Plotly | Web应用开发(1)

本文为https://github.com/CNFeffery/DataScienceStudyNotes的学习笔记,部分源码来源于此仓库。本期内容主要为和。

2024-01-05 17:23:58 1236

原创 Pyqt5实现多线程程序

使用pyqt5制作多线程程序

2023-11-23 13:49:38 855

原创 使用Python解析CAN总线

基于python解析CAN总线数据

2023-11-22 16:14:11 1776

原创 DBC转excel(python语言)

与同类工具的不同点:能批量转换在同一文件夹下的所有DBC,省时省力。重复造轮子,只是为了熟悉一下DBC格式。

2023-07-17 11:40:07 2166

原创 CAN总线和DCB文件格式

CAN总线和DBC文件

2023-07-06 16:03:25 4356

原创 粒子群算法matlab实现(新版)

粒子群算法matlab实现

2022-07-09 00:19:58 5330 17

原创 YOLOX官方源码文件结构和注释

Yolox的论文及代码Yolox论文名:《YOLOX: Exceeding YOLO Series in 2021》Yolox论文地址:https://arxiv.org/abs/2107.08430Yolox代码地址:https://github.com/Megvii-BaseDetection/YOLOX源码的文件结构和注释(加粗部分是重点文件,应详细分析):YOLOX-main:.│ .gitignore│ .readthedocs.yaml│ hubconf.py│ L.

2022-04-17 14:44:13 5533

原创 C++基础语法(二)

C++基础语法(二)文章目录C++基础语法(二)数组函数指针数组#include<iostream>using namespace std;/*数组数组中每个数据元素都是相同的数据类型数组是由连续的内存位置组成的1.一维数组的定义方式: 1) 数据类型 数组名[ 数组长度 ]; 2) 数据类型 数组名[ 数组长度 ] = { 值1,值2 ...}; 3) 数据类型 数组名[ ] = { 值1,值2 ...};2.二维数组的定义方式:

2022-01-30 19:34:14 688

原创 C++基础语法(一)

C++基础(一)文章目录C++基础(一)Hello World变量数据类型数据的输入运算符判断条件循环结构Hello World# include<iostream>using namespace std;/*第一个cpp程序,Hello World*/int main(){ // 输出字符串Hello World cout << "Hello World" << endl; system("pause"); re

2022-01-25 11:22:16 757

原创 论文写作方法

SCI写作文章目录SCI写作文章为谁写,如何评价文章**1.1 评价文章的依据****1.2 什么是好文章**如何写好文章的各个部分**2.1 Introduction 引言**2.2 Materials & Methods, or Experimental Section 实验、理论或模拟方法2.3 Results 结果2.4 Discussion 讨论2.5 Conclusion 结论2.6 References 参考文献2.7 Abstract 摘要2.8 Title 题目甘阳老师对于写作的

2022-01-01 22:10:37 655

原创 2021年华为杯数模赛D题总结

2021年华为杯数模赛D题总结题目:题目太长(网上能找到完整题目),背景信息略过,这里把题目抽象一下:已有条件:给出了1974个训练样本和50个测试样本,每个样本有729个特征每个训练样本有7个标签,分别是IC50值、pIC50值、和ADMET性质(包含5个标签)IC50值、pIC50值是两个相关的连续变量。pIC50是IC50的负对数ADMET性质的五个变标签都是布尔值问题:根据特征对IC50值和pIC50值影响的重要性进行排序,并给出前20个对IC50值和pIC50值最具有显著

2021-10-19 16:27:21 6264 10

原创 统计学习方法(三) 朴素贝叶斯(naive Bayes)上

统计学习方法(三) 朴素贝叶斯(naive Bayes)朴素贝叶斯是一个基于贝叶斯定理与特征条件独立假设的分类方法。三门问题不想搞的太枯燥,所以用大名鼎鼎的“三门问题”引入贝叶斯定理(这个问题真是太有意思了):三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let’s Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇

2021-09-27 21:17:24 312 1

原创 统计学习方法(二) K近邻(KNN)

第一节的感知机使用了一种做辅助超平面的方式来分类,K近邻也可以分类(可以回归,但不讨论),而且从数学思想上更加直观:简单来说就是预测样本距离哪个类别最近就分为哪一类。相比感知机,K近邻天然具有多分类的能力。另外,K近邻没有明显的“学习”过程。算法最主要的是如何设置距离的度量和分类决策规则。(说白了就是怎么算距离,算好了又怎么确定类别)原书中对于K近邻是这样说的:K近邻法的输入为示例的特征向量,对应于特征空间的点;输出为实例的类别,可以取多类。K近邻罚假设给定一个训练数据集,其中的实例类别已定。分类时对

2021-09-09 21:45:21 252 2

原创 机器学习中的距离度量(python实现)

最近读《统计学习方法》的时候用到了各种距离,这里做一个小总结,并且用numpy实现一下。一般的距离度量使用欧氏距离,就是我们生活中最常用的距离概念。但也可以使用其他的度量方式。这个部分比较有意思,后期的算法也能参考,所以详细记录一下。闵可夫斯基距离(LpL_pLp​距离)(Minkowski distance)闵可夫斯基距离也叫LpL_pLp​距离,欧式距离是LpL_pLp​距离的一种特殊情况。在这里p>=1p>=1p>=1当p=2p=2p=2时,称为欧氏距离(Eu

2021-09-09 17:12:54 929 1

原创 统计学习方法(一) 感知机(Perceptron)

感知机是二分类的线性分类模型,属于非概率模型,判别模型。是神经网络和支持向量机的基础。一、感知机模型如上图,我们如果能用一条直线将两类不同的样本区分开,那么再拿到一个新的样本,我们就可以根据这条直线的位置将新样本分类。因此我们的目标就是找到这样的一条线(w⋅x+b)(w{\cdot}x+b)(w⋅x+b),那么用f(x)=sign(w⋅x+b)f(x)=sign(w{\cdot}x+b)f(x)=sign(w⋅x+b)就可以实现分类的目的。当然,这里说的是二维的情况。拓展到三维,这条线就变成了一个

2021-09-04 21:37:20 330 2

原创 【pytorch】定义自己的CNN字符识别网络

1.选定网络结构自定义的网络结构很大程度上决定于数据集的特点。这次字符识别数据集为20*20的3通道图片,是中国汽车牌照图片经过预处理后的字符图片。包含包括数字、字母和汉字在内的65类字符。数据分布差异较大,一般来讲这样会出现数据项较少的类难以正确识别,这里我们先不管数据分布的问题,等网络效果不好时再调整。数据项示例和数据分布如以下两张图。每个数据项信息较少,可使用较为简单的网络。因此定义网络如下:input -> 3*3卷积 -> BN -> LeakyReLU -> D

2021-08-21 23:15:03 690

原创 【pytorch】定义自己的dataloader

在使用自己数据集训练网络时,往往需要定义自己的dataloader。这里用最简单的例子做个记录。定义datalaoder一般将dataloader封装为一个类,这个类继承自torch.utils.data.datasetfrom torch.utils.data import datasetclass LoadData(dataset.Dataset): # 注意父类的名称,不能写dataset pass需要注意的是dataset是模块名,而Dataset是类名,在python中模块

2021-08-13 15:33:46 3782 1

原创 汉诺塔问题的思考

汉诺塔问题是一个经典的递归问题,具体描述请点这里。在已知汉诺塔问题是递归问题的基础上,我们套用递归三定律来解决它:问题的最小规模。最小规模就是两层的汉诺塔。这很好解决。将盘1从柱1移到柱2,将盘2从柱1移到柱3,将盘1从柱2移到柱3,完成。大规模问题向小规模问题演化。三层汉诺塔可以将上面的两个盘子看做一层,这样就变成了两层汉诺塔;四层汉诺塔可以将上面的三个盘子看做一层,这样就变成了两层汉诺塔……不断调用自身通过这个思路,其实不难写出解决这个问题的Python程序def moveTower

2021-06-20 22:15:53 523

原创 数据结构与算法 Python(5)

递归Recursion递归是一种解决问题的方法精髓在于:将问题分解为规模更小的相同问题持续分解,直到问题规模小到可以用非常简单直接的方式来解决递归的明显特征就是调用自身精妙的递归算法常会出奇简单,令人赞叹实例1:列表求和给定一个不确定长度的整数列表,返回所有数的和既不能用for,也不能用while,是否能对这个列表求和?这个求和过程实际上是由一次次的加法实现的,而加法有两个操作数,这个是确定的同样是求和问题,但规模发生了变化,符合递归解决问题的特征因此可将求和问题归纳成这样:首

2021-06-19 16:11:32 92

原创 数据结构与算法 Python (4)

队列Queue队列是一种有次序的数据集合,其特征是:新数据项的添加总发生在一端(通常称为“尾端rear”)现存数据项的移除总发生在另一端(通常称为“首端”front)队列中入口和出口分别只有一个,不允许数据项直接插入队中,也不允许从队列中间移除数据项数据项加入队列时首先出现在队尾,随着队首数据项的移除,它逐渐靠近队首。这种次序安排的原则称为FIFO(first-in first-out)先进先出用Python中的List实现:class queue(): ''' ADT

2021-06-18 21:48:41 124

原创 数据结构与算法 Python(3)

数据结构与算法 Python (3)线性结构线性结构是一种有序数据项的集合,其中每个数据项都有唯一的前驱和后继(首尾项没有前驱或后继)。有的线性结构允许从两端添加或移除,有的只允许从一端添加或移除四种常用的线性结构有:栈stack、队列queue、双端队列deque、列表list1. 栈Stack栈是一种有次序的数据项集合,数据项的加入和移除都仅发生在同一端,这一端叫做栈顶(top),另一端叫做栈底(base)。距离栈底越近的数据项留在栈中的时间越长,这种次序通常称为LIFO(L

2021-06-15 13:41:58 273 4

原创 数据结构与算法 Python (2)

数据结构与算法 Python (2)以变位词判断问题例 分析时间复杂度问题描述:变位词是指两个词之间存在组成字母的重新排列关系。比如heart和earth,python和typhon。解题目标:写一个bool函数,以两个词作为参数,返回这两个词是否为变位词。解法一:逐字检查将词1中的字符逐个到词2中检查是否存在。如果每个字符都能找到,则两个词就是变位词。只要有一个字符找不到,就不是变位词。def anagramSolution1(s1,s2): alist = list(s2

2021-06-03 22:20:19 250 2

原创 数据结构与算法 Python (1)

数据结构与算法 Python1. 求解问题的计算之道自古以来人类在各个方面都会遇到许多未知的事物。比如螃蟹能不能吃,什么是无理数,为什么云不会掉下来,怎样实现公平正义。* 总而言之,**这些问题都可以归纳为what,why,how的问题。**在这些问题中,有些我们已经解决,有些还未解决,有些无法解决。为了解决这些问题,我们也运用了很多手段和方法。比如直观感觉,占卜,计算,模拟仿真…等等。最终我们发现,利用数学方法解决问题是非常准确高效的。因为数学本身符号表达准确严谨,并且推理系统非常严密。虽然数学不是

2021-06-01 22:30:20 183 1

原创 数学建模笔记——灰色关联分析

灰色关联分析是什么灰色关联分析同层次分析法和TOPSIS法一样,可以用来进行系统分析的方法。但与其他方法不同的是灰色关联分析对样本数量要求不高,计算量较小,且不会出现量化结果与定性分析结果不符的情况。灰色关联分析的基本思想是根据序列曲线集合形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之则越小。灰色关联分析怎么用应用1 进行系统分析第一步:画统计图根据统计图可得以下结论:四个变量均呈上升趋势第二产业的增幅较为明显第二产业和第三产业的差距在后三年相差更大

2021-04-22 16:29:11 34678 12

原创 将yolov3的标签转化为yolov5格式的标签

一般yolov3的数据集标签格式为xml,其中bbox为xyxy格式如图:但是yolov5所需的格式为txt每行一个obj,第一个字段是name,后面4个字段是normalized xywh格式的bbox。如下图:为了能用yolov3的数据训练yolov5,所以需要一个转格式的代码:# 将xml格式的标签转换为txt格式,并且将bbox的格式由xyxy转换为normalized xywh的格式。import os import xml.etree.ElementTree as ETcl

2021-03-02 21:33:25 3112 1

原创 Pyorch基础(三)

Pyorch基础(三)broadcasting(广播机制)broadcasting是把tensor自动扩张,比如在不同维度的tensor相加的时候,就会先利用broadcasting机制将两个tensor扩充为相同维度,再进行相加。合并与分割cat将多个tensor按指定维度进行合并合并的维度可以不同,但其他维度必须相同a = torch.rand(4,32,8)b = torch.rand(5,32,8)c = torch.cat([a,b],dim=0)print(c.sha

2021-01-31 17:19:12 216 1

原创 Pytorch基础(二)Tensor的索引和切片

Pytorch基础(二)Tensor的索引和切片Tensor的index和select**Dim 0 first:**多维张量的索引默认为第一个维度索引a = torch.Tensor(4, 3, 28, 28)print(a[0].shape) # torch.Size([3,28,28])print(a[0,0].shape) # troch.Size([28,28])选择前N个或后N个:代表全部n:代表从第n个到最后(包括第n个):n代表从第一个到第n个(不包括第n个)

2021-01-31 12:58:32 1739

原创 Pytorch基础(一)数据类型和创建数据

Pytorch基础(一)数据类型和创建数据数据类型Pytorch中的数据类型主要是tensor:这种数据类型与python解释器本身数据类型可以对应。但str类型有所不同。一般用一下几种方式表示字符串:One-hotEmbeddingWord2vecglove在python解释器中,数据无论在cpu还是gpu数据类型是相同的。但在pytorch中cpu和gpu中的数据有所不同:类型检验:a = torch.randn(2, 3)# 输出a的类型# 法1print

2021-01-30 11:24:11 678 1

原创 Pytorch构建神经网络学习总结(一)

Pytorch构建神经网络学习总结二维卷积后维度的计算Pytorch中一个mini batch的格式为 (batch size * input channals * input high * input width)​设输入为N∗Cin∗Hin∗WinN*C_{in}*H_{in}*W_{in}N∗Cin​∗Hin​∗Win​,一次二维卷积后输出为N∗Cout∗Hout∗WoutN*C_{out}*H_{out}*W_{out}N∗Cout​∗Hout​∗Wout​NNN卷积前后保持不变(batch

2021-01-25 16:49:28 385 1

原创 【小练习】基于pytorch的简单CNN图像分类网络

一个简单的CNN网络,做个小练习。不管是复杂的网络还是简单的网络,代码的结构都大同小异。从小的网络开始,加油!训练效果如下:代码如下:import torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimfrom torchvision import datasets, transforms# ---------构建网络----------# input: datase.

2021-01-11 16:40:25 1497 1

原创 机器学习笔记 (二)特征预处理

特征工程(二)特征预处理目录特征工程(二)特征预处理归一化sklearn特征处理归一化API:标准化sklearn特征处理标准化API:缺失值特征处理就是通过特定的统计方法(数学方法)将数据转换为算法要求的数据,可以把有量纲表达式转换为无量纲表达式。数值型的数据归一化标准化缺失值类别型数据one-hot编码时间类型时间的切分归一化通过对原始数据进行变换把数据映射到[0,1][0,1][0,1](或其他区间)实质上归一化就是去掉量纲,使得多组特征在对结果的

2021-01-02 15:17:20 150

原创 机器学习笔记(一):特征工程 sklear的API

机器学习——特征工程利用Scikit-learn进行特征抽取sklearn特征抽取APIsklearn.feature_extraction字典特征抽取类:sklearn.feature_extraction.DictVectorizer作用:对字典数据进行特征值化语法:DictVectorizer(sparse=Ture,...)DictVectorizer.fit_transform(X) X表示字典或包含字典的迭代器;返回sparse矩阵DictVectorizer.i

2021-01-01 22:30:32 240

原创 Python学习笔记(三)面向对象

Python学习笔记(三)面向对象本节用示例代码做演示目录Python学习笔记(三)面向对象面向对象基础单继承多继承类属性单例异常模块和包面向对象基础# 面向对象练习----创建类# 创建猫类class Cat: def eat(self): # 哪一个对象调用此方法,self就是哪个对象的引用(内存地址) # 在对象调用这个属性的时候,这个属性才会执行。 print('小猫爱吃鱼') def drink(self):

2020-12-26 11:37:23 521

原创 mmdetection中yolo配置文件的注释

配置文件的地址在.\configs\yolo\yolov3_d53_mstrain-608_273e_coco.py有些没有注释的和我猜测的地方请朋友们不吝赐教_base_ = '../_base_/default_runtime.py' # 猜测可能是继承这个模型的配置# model settingsmodel = dict( type='YOLOV3', .

2020-12-21 11:58:24 1220 4

空空如也

空空如也

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

TA关注的人

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