自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 git无法拉取代码Could not resolve proxy

【代码】git无法拉取代码Could not resolve proxy。

2023-07-19 13:48:28 651

原创 cuda找不到路径报错

编译C++文件时出现:error: [Errno 2] No such file or directory: ':/usr/local/cuda:/usr/local/cuda/bin/nvcc。在终端输入: export CUDA_HOME=/usr/local/cuda。

2023-03-24 11:01:52 1360

原创 cuda找不到路径报错

编译C++文件时出现:error: [Errno 2] No such file or directory: ':/usr/local/cuda:/usr/local/cuda/bin/nvcc。在终端输入: export CUDA_HOME=/usr/local/cuda。

2023-03-01 23:06:11 1214

原创 卡尔曼滤波简单实现运动模型

卡尔曼滤波简单实现

2022-12-11 22:08:48 466

原创 kitti数据集bin点云可视化

kitti数据集提供了bin二进制格式的点云数据,想可视化看看效果,首先使用。库解析二进制文件,转为numpy格式,再使用open3d进行可视化。

2022-08-01 10:30:45 3804 2

原创 目标检测之AP、mAP计算

最近在做模型评测,在评测指标的计算过程上卡了很久,之前在课本上看的计算过程以及很多博客上看计算方法,介绍得比较简单,真正自己算的时候才发现细节真的实在太多了,花了一天时间理清了计算过程。1.目标检测结果输出与指标计算流程(1)以基于anchor的目标检测为例,模型输出大量检测框的类别分数和对应的offset,offset解码得到预测框的左上角和右下角坐标:(x1,y1,x2,y2);(2)解码之后得到的检测框数量是远远大于真实数量的,存在多个预测框重叠的情况,于是使用NMS的方法对预测框进行过滤,注

2022-05-22 11:05:29 635

原创 使用opencv和shutil库进行图片筛选

在做图片筛选的时候,需要把图片打开然后复制粘贴到相应文件夹,打开再复制粘贴的过程十分繁琐,这里通过opencv和shutil库进行操作,打开图片显示,点击相应按键将图片复制或移动至相应文件夹,十分方便,适合摄影师或深度学习搞图片分类的小伙伴使用.Python代码如下:keyNum对应的是q,w,e,r四个按键,每个按键将图片复制(shutil.copy(img_path, destination))或移动(shutil.copy(img_path, destination))至相应文件夹,有多少个类别就

2022-04-11 14:41:30 2753

原创 python的argparse库进行终端交互

在终端运行python脚本的时候经常需要用到argparse进行参数交互,通过argparse在终端输入脚本所需参数运行程序,尤其在服务器上进行训练的时候,只能通过命令进行操作,用的会更多,目前我主要用到了文件地址这个参数,记录一下:1.首先建立函数导入argparse库,parser.add_argument添加参数,第一个引号是参数名,type是参数类型,help是参数提示,要多少个参数就写多少次.import argparsedef get_parser(): parser = arg

2022-04-08 19:57:57 1035

原创 win10系统目标检测、图像识别环境搭建踩坑笔记

1.pycocotools安装失败直接从这个网站下载pycocotools安装包,下载自己需要的版本,然后在anaconda prompt里面cd到该文件的路径,输入pip install pycocotools_windows-2.0.0.2-cp38-cp38-win_amd64.whl,成功安装https://pypi.org/project/pycocotools-windows/#files2.from torch.utils.tensorboard import SummaryWrite

2022-03-29 23:29:16 610

原创 python批量生成文件夹

python批量创建文件夹

2022-03-18 11:02:17 2201

原创 torch使用tensorboard可视化训练过程

1.导入模块from torch.utils.tensorboard import SummaryWriter2.在训练开始之前定义一个writer,括号内为tensorboard保存的文件夹地址:writer = SummaryWriter('./runs')3.训练过程中每个epoch写入相应的点:writer.add_scalar('LOSS/Train_loss', float(avg_train_loss),(epoch + 1))writer.add_scalar('LOSS/V

2022-03-11 17:52:23 1071

原创 ImageFolder数据读取的标签对应关系

pytorch有自带的库,torchvision.datasets.ImageFolder用于读取数据集,将数据集放在相应文件位置下,文件名就是标签,效果如下:数据读取方式:train_datasets = datasets.ImageFolder(train_path, transform=train_transforms)train_data_size = len(train_datasets)train_data = torch.utils.data.DataLoader(train_dat

2022-03-11 13:12:17 4922

原创 torch.argmax()与torch.max()的使用方法及区别

1.torch.max()分类神经网络的输出是所有类别对应的概率值,要返回标签的话就需要用到将概率值与标签对应。torch.max()返回tensor数据最大值和索引,输出的值有两个参数,第一个参数是最大值,第二个参数是最大值的索引(也就是分类label),主要用于神经网络输出与label的匹配。代码如下:import torchoutput=torch.tensor([[-0.7403, -0.6481], [-0.6869, -0.6994], [-0.6569,

2022-03-11 11:17:23 5025

原创 dataframe踩坑笔记(2):表格合并、拼接

1. 表格简单合并1.1按行合并(上下合并):import numpy as npdf1= pd.DataFrame(np.random.randn(4),columns=["a"]) df2= pd.DataFrame(np.random.randn(4),columns=["b"])df3=pd.concat([df1,df2],axis=0)df4=pd.concat([df1,df2],axis=1)如果两个dataframe长度不一致,缺少的部分用nan补齐:df2

2022-03-08 21:10:25 1508

原创 Ubuntu、win10系统pytorch cuda版本安装

深度学习常用pytorch框架,安装之前需要确保已经配置好显卡驱动和CUDA,具体教程后面再补充。1.torch安装:进入pytorch官网,选择对应版本进行安装,复制粘贴红框中的命令,进入prompt安装就可以了,效果如下:2.安装验证:验证安装版本和GPU是否可用:import torchprint(torch.__version__)print(torch.cuda.is_available())out:1.10.2True...

2022-03-05 11:26:01 462

原创 pytorch导入自定义数据集

最近刚学图神经网络,数据集导入折腾了很久,终于开窍了一点。目前常用的数据导入方法主要有两种:(1)torchvision自带的导入方式:这种导入方式使用了torchvision自带的库,打开函数进去看它的说明是这样的:直接翻译过来意思就是图片要放在相应类别的文件夹下,文件夹名字就是图片所属的类别。导入代码如下:from torchvision import datasets'''transform可自行定义'''train_transforms = transforms.Compose(

2022-02-24 20:48:13 5211

原创 map()函数给对dataframe数据替换标签

神经网络label一般为str数据类型,需转为结构数字输入,pytorch自带的datasets.ImageFolder库使用文件夹名称自动生成,针对dataset和label分别在两个文件夹的数据集,可将数据和标签保存至CSV文件,使用map()函数统一将字符串标签改为数字。代码:import pandas as pddf=pd.DataFrame()df['imges']=['weather','timeof day','scene','roadtype','weather','weather'

2022-02-24 14:48:49 2078

原创 txt文件批量处理保存为excel

最近做实验需要大批量整理数据,写了一些批量处理的脚本,原文件大概长这样文件夹打开长这样:用python把这些文件保存到一个excel表格里,效果是这样的:代码如下:import pandas as pdimport osimport matplotlib.pyplot as pltpath=r'E:\desktop\20210720(NO.3)\I1\A70'#文件路径dir_list = os.listdir(path)for dir_ in dir_list: sub

2021-08-31 17:13:00 874

转载 Python求列表中位数:使用取反操作

1.偶数个元素的列表[1,2,3,4,5,6],中位数为中间两个的均值,索引分别为2,3,副索引为-3,可以认为是-(2+1),也就是2取反的值~22.奇数个数的列表[1,2,3,4,5],中位数为中间值,索引为2,副索引为-3有一个通用的算法:def median(data): data.sort() mid=len(data)//2 median=(data[mid]+data[~mid])/2 return median3.取反操作里面涉及到各种二进制,只需要记住一个公式就行了

2021-08-22 23:14:23 613

原创 557. python3反转字符串中的单词 III

原题:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例:输入:"Let's take LeetCode contest"输出:"s'teL ekat edoCteeL tsetnoc"解题思路总的思路是:(1)先反转单词,再反转全部(2)主要用到 join() 函数和split函数,join()函数用于将字符串组合,split()函数将字符串分割,返回分割后的列表。(3)反转列表、字符串最常用的:[::-1],其结果直接将列表的元素顺序反转,将字

2021-08-08 11:04:57 343

原创 map()函数的使用

map()是python内置的高阶函数,将定义好的函数映射到列表中的每一个元素,python3中,map函数返回的是一个map对象,需要list(map(fun,itor))来将映射之后的map对象转换成列表:def squre(nums): return nums*numsres=list(map(squre,[1,2,3,4,5,6]))print(res)out:[1, 4, 9, 16, 25, 36]...

2021-08-07 21:29:37 104

转载 单链表操作合集

#定义结点类class Node(object): def __init__(self,data): self.data=data self.next=None #创建链表类class LinkList(object): def __init__(self): self.head=Node(None) #判断链表是否为空 def IsEmpty(self): p=self.head#头指针

2021-07-31 22:02:42 82

翻译 机器学习笔记:决策树

1.sklrearn中决策树的常用参数DecisionTreeClassifier(criterion=“gini”,splitter=“best”,max_depth=None,min_samples_split=2,min_samples_leaf=1,min_weight_fraction_leaf=0.,max_features=None,random_state=None,max_leaf_nodes=None,min_impurity_decrease=0.,min_imp

2021-07-27 13:13:32 94

原创 python实现列表的删除和插入

1.insert()函数:#list.insert(index,obj)a=[1,2,3,4,5,6,3,5,8]a.insert(2,0)aout:[1, 2, 0, 3, 4, 5, 6, 3, 5, 8]a.insert(1,99)aout:[1, 99, 2, 0, 3, 4, 5, 6, 3, 5, 8]2.pop()函数:pop()可删除任意位置的元素并将其返回, 只需在括号内指定要删除元素的索引即可, 当括号内为空时则删除该列表最后一个元素并将其返回。a=[1,2

2021-07-26 19:37:08 345

翻译 python实现几种常用排序方法

1.冒泡排序def Bubble_sort(array): for i in range(len(array)): for j in range(len(array)-i-1): if array[j]>array[j+1]: array[j],array[j+1]=array[j+1],array[j] return array a=[5,6,2,1,8,6,7]Bubble_sort

2021-07-26 19:26:02 131

原创 机器学习算法性能度量

最近又返回去刷西瓜书了,重新看了一下混淆矩阵,性能度量最常用的就是混淆矩阵了吧?有错误的地方大佬们多多指正1.混淆矩阵真的字如其名,初次认识他我真的很容易被混淆,贴上图看一下:(1)查准率(precision):P=TPTP+FPP=\frac{TP}{TP+FP}P=TP+FPTP​代表的是预测为正例里面,正确的比例(2)查全率(召回率)(recall):R=TPTP+FNR=\frac{TP}{TP+FN}R=TP+FNTP​代表的是真实值为正例里面被正确预测出来的比例(3)F1分数

2021-07-19 20:49:00 230

原创 python自动化办公:文件花式遍历

最近跑数据跑到头秃,不得已只好将python自动化办公玩出花样,可以将两三个小时的工作量缩短到十几分钟,最重要的是:心情好!不需要闹心的搞重复性的工作,几行代码剩下的交给程序自己跑。教程部分:用到的库:os...

2021-07-13 22:16:31 66

原创 机器学习常用数据清洗方法

最近做机器学习的项目,汇总一下用得比较多的数据清洗方法,主要有:重新命名列名、去除空值、去除0值(或负值)1.重新命名列名平时读数据的时候,原始数据总是有各种乱七八糟的命名,可以通过命名便于理解第一种方法:直接按顺序修改,替换掉原始的columnsdf=pd.read_csv(r'E:\00learning\01Python\机器学习\04SVR\train_data.csv')df.columns=['I','F']#重新命名列名第二种方法:使用.rename()函数df.rename(

2021-07-10 21:42:46 1391

原创 python的列表操作总结

在用python处理数据的过程中用到了很多列表的操作,知识点比较零碎,现在汇总一下常用到的操作,后续继续补充,大佬们也可以在评论区补充。1. 在一个列表后面添加另一个列表的元素这个比较简单粗暴,直接相加:list1=[1,2,3,4]list2=[5,6,7,8]list3=list1+list2print(list3)结果:[1, 2, 3, 4, 5, 6, 7, 8]2. 判断一个元素在不在列表中这个是在刷leetcode时遇到的,用法:1.判断元素在列表中:list1=[5

2021-06-22 21:47:20 144

原创 leetcode刷题,二进制求和python实现

解题思路:1.现将二进制转为十进制,用int(a,2),int(b,2),求和2.将求和结果转为二进制,用bin(sum),bin()函数是将十进制转为二进制,返回的是字符串,带0b前缀,函数返回的时候从第3个字符开始。代码如下:class Solution(object): def addBinary(self, a, b): """ :type a: str :type b: str :rtype: str .

2021-06-17 22:23:52 238

原创 sklearn中train_test_split库的使用

背景:在做数据处理的时候,我们往往拿到的只是一长串的数据,没有将训练集和验证集分开,这时候如果用训练集来训练,再拿训练集来测试,显然是对模型的泛化能力没有帮助的(拿一个好看的结果来欺骗自己),这时候就需要将原始数据进行随机分割,sklearn中提供了train_test_split库用于测试集和训练集的划分。划分以后的训练集和测试集最终可以用来进行交叉验证。格式如下:X_train,X_test, y_train, y_test =cross_validation.train_test_s.

2021-05-27 10:53:04 672

原创 python绘图中解决中文和负值显示乱码的问题

plt.rcParams['font.sans-serif']=['SimHei','Times New Roman']#中文显示plt.rcParams['axes.unicode_minus']=False#负值显示效果如下:

2021-05-24 17:33:15 231

原创 KNN和LOF两种算法对比

最近在学习KNN和LOF算法,记录一下自己一些浅显的理解1.相同点和不同点通俗地说,KNN算法的基本思想都是:物以类聚人以群分,你的邻居是啥那么你就最有可能是啥;LOF算法的思想是正常人都是合群的,不合群的就有可能是不正常的。1.1相同点都是基于K-邻近距离对样本进行分类,原理比较类似。1.2不同点(1)KNN通过k-邻近距离判断自己邻居是哪一类,最终选择比例最高的那一类作为该样本点的类别;(2)LOF没有给出具体的分类,最终算出的是每个点的局部离群因子,LOF值小于1,说明该点接近密度中心

2021-05-24 17:21:35 997

原创 异常检测-基于相似度的方法

先附上整理的思维导图,后期再附上实现代码

2021-05-20 17:45:29 57

原创 线性回归的方法做异常检测:最小二乘法与梯度下降法

1.最小二乘法最小二乘法其实就是利用误差最小化求解线性回归参数的方法。一元多维线性回归:Y=∑i=1dai⋅Xi+ad+1Y=\sum_{i=1}^{d} a_{i} \cdot X_{i}+a_{d+1}Y=i=1∑d​ai​⋅Xi​+ad+1​分析其中一维:yj=∑i=1dai⋅xji+ad+1+ϵjy_{j}=\sum_{i=1}^{d} a_{i} \cdot x_{j i}+a_{d+1}+\epsilon_{j}yj​=i=1∑d​ai​⋅xji​+ad+1​+ϵj​以UUU代表N×

2021-05-16 16:31:02 866

原创 使用bins对数据进行分段并计算每个分段的数据量

可以自己建一个excel文件练习bins=[0,10,20,30,50,60,1000000]作为区间划分的变量,里面的数表示每个间隔。代码实现:结果:查看某个区间对应的数量:

2021-05-14 11:16:06 931

转载 基于统计学习的方法做异常检测

1.基础理论假定正常的数据对象由一个统计模型产生,而不遵守该模型的数据是异常点。2.参数方法参数方法假定正常的数据对象被一个以Θ为参数的参数分布产生。该参数分布的概率密度函数f(x,Θ)给出对象x被该分布产生的概率。该值越小,x越可能是异常点。2.1基于正态分布的一元异常点检测得到数据后,假设数据服从正态分布,x(i)∼N(μ,σ2) 计算出正态分布的各个参数值:μ=∑i=1mx(i)m{μ= \frac{\sum_{i=1}^mx^(i)}{m}}μ=m∑i=1m​x(i)​...

2021-05-13 19:41:19 440

原创 python数据挖掘-异常检测笔记

python数据挖掘-异常检测笔记python数据挖掘-异常检测笔记1.异常检测1.1主要过程获得大量历史数据,从正常的数据中识别出异常的数据,例如信用卡使用消费异常、工业生产异常、网络流里的异常等。1.2异常检测任务有监督: 训练集的正例和反例均有标签无监督: 训练集无标签。半监督: 在训练集中只有正例,异常实例不参与训练1.3 异常检测场景故障检测: 主要是监控系统,在故障发生时可以识别,并且准确指出故障的种类以及出现位置。主要应用领域包括银行欺诈、移动蜂窝网络故障、保险欺诈、医疗欺

2021-05-11 12:53:25 166

基于VOF两相流做UDF水沸腾蒸发模拟

最近在学习UDF,之前在B站上看到一位博主的视频,动手做了一个沸腾蒸发的模型,可供DUF初学者尝试学习,case文件和UDF代码可下载

2020-03-09

空空如也

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

TA关注的人

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