- 博客(276)
- 资源 (15)
- 收藏
- 关注
原创 python面试高频考点(深度学习大模型方向)
在Python中,上下文管理器(Context Manager) 是一种通过 with 语句管理资源的协议,确保资源(如文件、数据库连接、线程锁等)在使用后被正确释放,避免资源泄漏return self.file # 返回资源对象self.file.close() # 确保文件关闭# 使用示例3.python中的函数传参是传值还是传引用?变量是对象的标签:Python中变量本身不存储值,而是存储对对象的引用(即内存地址)。
2025-03-24 22:27:59
531
原创 mmdet数据读取过程解析
最近在将mmdet适配到自己的数据上,经过研究发现mmdet仅支持coco,voc等少数几类数据集,所以需要自己重新写一个dataset来解决,顺便熟悉一下mmdet的数据读取过程,这里以检测任务的yolov3为模型,voc数据集为例子来解析这个过程1.数据读取过程解析 这里在mmdetection/mmdet/datasets/cisdi.py新建了一个数据集CisdiDataset,其中内容参考voc数据集这里的JsonData
2025-02-12 15:41:22
42
原创 vscode调试常用选项
在vscode调试过程中,存在一个文件来控制调试的相关选项,位置为mmdetection/.vscode/launch.json。
2025-02-12 15:23:43
28
原创 目标检测之DINO详解
相比之下,我们的混合查询选择方法仅使用前K个选定特征来增强位置查询,并保持内容查询的可学习性不变。method for anchor initialization,a look forward twice scheme for box pre diction,在coco上使用resnet多尺度特征获得了(和DN-DETR相比)+6.0AP和+2.7AP的显著提升(12epoch和24epoch),DINO在取得更好结果的同时,显著减少了模型大小和预训练数据量。在DETR和DN-DETR 中,解码器。
2025-01-01 15:10:00
316
原创 基于ultralytics库的RTDETR独家大全(原创)
RTDETR作为目标检测和分割领域的新兴技术,具有巨大的发展潜力。通过本专栏的基础入门和高阶创新改进部分的学习,读者将能够全面了解RTDETR的基本原理、实现方法以及优化策略,为进一步的研究和应用打下坚实的基础。期待与大家一起在视觉大作战专栏中探索RTDETR的无限可能!
2024-12-31 22:34:44
660
2
原创 ultralytics库RT-DETR代码解析
其中,主要包含了4个函数,_get_encoder_input函数将输入整理成需要的形状,get_cdn_group添加了类似于DN-DETR的去噪分组方法,_get_decoder_input,decoder进行注意力计算。下边详细来看看这4个函数具体过程。这里相信看过我文章的小伙伴已经非常熟悉了,通过[w,h]来生成对应的锚点,只不过这里有一点特殊,这里的锚点坐标是归一化后的,另外,针对锚点归一化后的值小于0.01或者大于0.99都是无效的,所以这里维护了一个valid_mask来得到有效的锚点。
2024-12-31 17:34:34
775
原创 yoloseg分割模型精度提高技巧(干货)
可选的解决方案是可以提前进行目标区域裁剪来减少这种损失。众所周知,在实时实例分割领域,可用的方法并不多,2019年yoloact的问世给了给了众多算法工程师一个不错的选择,之后yolo系列的实例分割方法也一直按照yoloact的思路进行实例分割任务。在部署过程中,最耗时的操作就是protos【b,32,160,160】和weights【b,20,32】之间进行的矩阵相乘操作,这个提升的解决方案有很多,以下是一些可选方案。:如果可以接受精度损失的话,在训练过程中可以把32个protos减小到16个或者8个。
2024-12-28 11:44:17
120
原创 如何在yolov8中使用ATSS策略
在yolov8中使用的标签匹配策略是TAL,本篇文章解析一下ATSS代码相关实现以及如何把ATSS放到yolov8中使用。其次在loss.py中将assigner改为ATSS。
2024-12-27 20:27:22
176
原创 视觉大作战专栏感想
最后,就是伙伴招募了,从读书阶段到工作,一直没有志同道合的小伙伴可以并肩作战,希望在高质量文章创作上有几个小伙伴一起,主要的工作是在这个专栏里输出视觉的高质量文章,并经过我的审核发布。成功入伙的伙伴根据文章阅读量的比例可以获得等比的专栏分成,当然最主要的还是持续鼓舞自己不断学习,输出高质量文章~,比如pyqt,deepstream,rknn,android,ncnn,tensorrt等等的心得。(如yolo系列,实例分割、全景分割,目标跟踪,多模态等等)(如提速,量化,蒸馏,剪枝等等)
2024-12-25 20:44:15
119
原创 yolov8如何评价结果
为的意义是确定41个预测box在某个iou标准下是否是TP,所以维度是[41, 10] ,41表示有41个预测box,10表示10个iou标准,分别为[0.5000, 0.5500, 0.6000, 0.6500, 0.7000, 0.7500, 0.8000, 0.8500, 0.9000, 0.9500]bbox为gt中的box信息,维度为(1,3),cls为gt的类别信息,维度为(1)bbox为gt中的box信息,维度为(1,4),cls为gt的类别信息,维度为(1)
2024-12-25 19:27:36
711
原创 yolov8的标签匹配解析
首先针对输入图片维度为[4,3,640,640],通过骨干网络可以得到三个feature,也就是1/8,1/16以及1/32的特征输出,对应的维度分别为[4,65,80,80]、[4,65,40,40]、[4,65,20,20]然后通过上图的make_anchors方法去得到不同尺度特征图的锚点,feats就是输出的三个特征图,stride是对应的三个尺度,为[8,16,32]以尺度为20的特征图为例,torch.arange生成一个包含20个从0到19的tensor。
2024-12-22 17:55:39
157
原创 实验室没有显卡怎么深度学习
最近显卡奇缺,遍历了网上各种平台薅GPU羊毛,这里给大家介绍以下这个平台的福利!!!先附上链接:恒源云_GPUSHARE-恒源智享云恒源智享云gpushare.com 是一个专注 AI 行业的共享算力平台,旨在为用户提供高性比价的GPU云主机和存储服务,让用户拥有高效的云端编程和训练体验,不再担忧硬件迭代/环境搭建/数据存储等一系列问题。https://gpushare.com/auth/register?user=18*****7729&fromId=ce701711122&sou
2021-12-20 12:01:51
1740
原创 python读取nii数据
from nibabel.viewers import OrthoSlicer3Dfrom nibabel import nifti1import nibabel as nibfrom matplotlib import pylab as pltimport matplotlib# 文件名,nii或nii.gzv_filename = '/home/luoshiyong/pycode/pythonProject/venv/lits/volume-65.nii's_filename = '/h.
2021-03-10 00:06:14
2516
1
原创 全卷积网络FCN模型实现
1.数据集voc2012获取见https://blog.youkuaiyun.com/luoshiyong123/article/details/1111970392.FCN网络结构3.FCN特点 (1)摒弃了传统卷积网络最后的全连接层,使用全卷积代替,原文中卷积部分采用的VGG16(去掉全连接层)效果最好。(2)使用反卷积恢复图像原来尺寸,可以接受任意大小的输入图像,而不用要求所有的训练图像和测试图像具有同样的尺寸。 (3) 得到的结果还是不够精细。进行8倍上采样虽然比32倍的效果..
2020-12-15 21:26:07
3367
2
原创 处理voc2012数据集_图像分割第一步
1.voc2012数据集介绍这是下载的voc2012数据集,上边一个是测试集,下边的是训练+验证VOCdevkit_train结构如下:注意该数据集不全是用来做图像分割的,也有目标检测等其他任务的。Annotations是保存每一张图片的xml信息,其中包含是否用来分割等选项,目标检测Xmin,Xmax,Ymin,Ymax等信息,此处我们用不到JPEGimages就是需要用到的图片SegmentationClass是语义分割的label,需要复制整个文件夹Segmenta
2020-12-15 12:19:16
2048
5
原创 k-means聚类及可视化
本文主要是通过sklearn库实现k-means聚类并可视化1.导入库import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.cluster import KMeansfrom sklearn.cluster import DBSCAN2.读取数据并可视化ori_data = pd.read_csv('D:/DL/机器学习/data.csv',header = None)
2020-12-03 18:15:20
11060
6
原创 SVM实现鸢尾花分类
1.导入库import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitimport sklearn.svm as svmfrom sklearn.metrics import classification_reportlabel2num = {'Iris-setosa': 0, 'Iris-versicolor': 1, 'Iris-virginica': 2}num2la
2020-12-03 12:49:31
1506
原创 keras实现线性回归
envwindows+anaconda+jupytertensorflow2.3+keras#导入库import kerasimport tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltfrom keras import layers%matplotlib inline#准备数据x = np.linspace(0,100,30) #在指定的间隔内返回均匀间隔的数字。y = 3*x+7+np.ran
2020-10-16 09:28:13
2197
原创 矩阵连乘问题
动态规划例1 矩阵连乘问题引入例如矩阵连乘积A1A2A3A4A_1A_2A_3A_4A1A2A3A4可以有下列5中完全加括号的方式:(A1(A2(A3A4)),(A1(A2A3)A4),((A1A2)(A3A4)),((A1(A2A3))A4),(((A1A2)A3)A4)(A_1(A_2(A_3A_4)), (A_1(A_2A_3)A_4) , ((A_1A_2)(A_3A_4)) , ((A_1(A_2A_3))A_4) , (((A_1A_2)A_3)A_4)(A1(A
2020-09-26 18:04:26
1343
原创 特征选择
降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组‘不相关’的主变量的过程处理对象:二维数组(【n_sample,n_feature】)相关特征:如相对温度与降雨量的相关,会增多许多冗余信息降维的方法主要有特征选择和特征选择1.1 定义:数据中包含冗余或者相关变量(或称特征,属性,指标等),旨在从原有特征中找出主要特征1.2 方法 Filter(过滤式):主要探究特征本身特点,特征与特征和目标值之间关联...
2020-09-23 21:10:31
304
原创 数据预处理(归一化和标准化)
什么是特征预处理:通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程1.主要包含:数值型数据的无量纲化+归一化:通过对原始数据进行变换把数据映射到[mi,mx]之间如对于以上数据,映射到[0,1],对于第一列,最大值是90,最小值是60,即X‘=(90-60)/90-60=1,X’‘=1*(1-0)+0=1如果有异常值(通常是最大值或者最小值),归一化将被严重影响。+标准化:对原始数据进行变换到均值为0,标准差为1范围内2.特征预处理API为什..
2020-09-21 21:49:23
2994
原创 机器学习特征提取
本文主要介绍基于sklearn的特征提取,旨在为机器学习提供一个好的开端1.分类特征提取如上图所示:许多特征如pclass代表乘客船舱等级,分为1,2,3。还有例如性别,乘客登船码头,称之为分类特征。对于这一类数据的提取,采用one-hot编码。例如:data数据有两个特征,分别是城市和温度,显然第一个特征为分类特征。[[ 1. 0. 0. 50.] [ 0. 0. 1. 40.] [ 0. 1. 0. 36.]]data = [{'city':'beijin
2020-09-21 19:58:49
1645
原创 Titanic数据集分析及kaggle提交
首先看到这个数据集脑海中就想到了学过的二分类问题,一共11个输入维度,一个输出维度(Survived),具体如下:咋一看就感觉passengerid和是否存活就没有关系,numpy.loadtxt无法读取带字符串的输入,这里我们用pandas读取数据分析一下import torch import pandas as pd import numpy as np from pandas import Series,DataFramedata_train = pd.read_csv("./
2020-09-16 15:50:10
939
原创 tensorflow基础知识
import osos.environ['TF_CPP_MIN_LOG_LEVEL']='2'import tensorflow as tftf.compat.v1.disable_eager_execution()a = tf.constant([[1.0,2.0]])b = tf.constant([[2.0],[3.0]])result = tf.matmul(a,b)print(result) #tf.Tensor([[8.]], shape=(1, 1), dtype=fl...
2020-09-14 11:29:22
222
原创 屏蔽tensorflow输出一般和警告信息
装完tensorflow后控制台输出一大串的警告和一般信息,主要用了两行代码解决import osos.environ['TF_CPP_MIN_LOG_LEVEL']='2'import osos.environ['TF_CPP_MIN_LOG_LEVEL']='2' #设置为1屏蔽一般信息,2屏蔽一般和警告,3屏蔽所有输出import tensorflow as tfa = tf.constant(2.)b = tf.constant(4.)print(a * b)
2020-09-14 10:33:52
1402
1
原创 神经网络解决过拟合问题
1.惩罚性成本函数 惩罚性成本函数是在损失函数上加一个惩罚项,如下图所示,下图中加了一个权重的平方和,如果该系数很大,在训练过程中要得到最小损失,就必须要某些权重很小或者接近于0,所以可以达到减少网络的复杂度。2.dropout dropout就是指在神经网络训练过程中随机对于某些权重不更新,有助于防止网络对某条路径过度依赖3. Early stopping 在10个epoch过后测试一次对于测试...
2020-09-13 12:10:52
1372
2
原创 RNN训练文本
本文通过RNN学习hello->ohlol的规律1.处理字符因为字符不是数字,无法变成向量输入,所以必须将字符变成数字,这里用到了one-hot vector通过将字符变成对应的索引,然后将索引变成one-hot vector,将其作为RNN的输入,这里因为只有4个字母,所以输入维度为4这里要求第一个输出为0,第二个为h,第三个为l,所以这是一个多分类的问题,需要输出一个四维向量,每一维度表示为某个字母的概率这样我们的每一个输入Xi就是one-hot vector...
2020-09-09 22:54:15
592
原创 PyTorch训练MNIST数据集3
本文旨在探索各种不同的改变对于训练精确率的影响1.增加全连接层 原来的全连接层由320->10:self.f1 = torch.nn.Linear(320,10) 现在改为:每一个线性单元采用relu激活函数 self.f1 = torch.nn.Linear(320,160) self.f2 = torch.nn.Linear(160,80) self.f3 = torch.nn.Linear...
2020-09-07 20:56:12
378
原创 PyTorch训练MNIST数据集2
1.网络结构2.代码:import torchfrom torchvision import transformsfrom torchvision import datasetsfrom torch.utils.data import DataLoaderimport torch.nn.functional as Fimport torch.optim as optimfrom matplotlib import pyplot as pltimport osimport s.
2020-09-07 17:17:37
2915
原创 pytorch训练MNIST数据集1
本文采用全连接网络对MNIST数据集进行训练,训练模型主要由五个线性单元和relu激活函数组成import torchfrom torchvision import transformsfrom torchvision import datasetsfrom torch.utils.data import DataLoaderimport torch.nn.functional as Fimport torch.optim as optimimport osimport sys.
2020-09-06 22:47:40
571
转载 Pytorch中view的用法
//转自https://zhuanlan.zhihu.com/p/87856193?from_voters_page=true在pytorch中view函数的作用为重构张量的维度,相当于numpy中resize()的功能,但是用法可能不太一样。如下例所示>>> import torch>>> tt1=torch.tensor([-0.3623, -0.6115, 0.7283, 0.4699, 2.3261, 0.1599])>>>
2020-09-06 22:29:04
4092
原创 糖尿病数据集训练pytorch
import torchimport numpy as npfrom matplotlib import pyplot as plt#加载数据集xy = np.loadtxt('diabetes.csv',delimiter=',',dtype=np.float32)x_data = torch.from_numpy(xy[:,:-1])y_data = torch.from_numpy(xy[:,[-1]])#print(x_data)#建立模型class MyModel(torch..
2020-08-05 10:10:52
2269
4
原创 pyqt5获取糖尿病数据
#-*- codingg:utf8 -*-from PyQt5.QtWidgets import *from Ui_layout import Ui_Formimport sysimport torchimport numpy as np#加载数据xy = np.loadtxt('diabetes.csv',delimiter=',',dtype=np.float32)class MyWidget(QWidget,Ui_Form): def __init__(self): .
2020-08-03 11:51:30
253
原创 Dataset和DataLoader
import torchfrom torch.utils.data import Datasetfrom torch.utils.data import DataLoaderclass MyDataset(Dataset): def __init__(self): pass #根据index获取数据 def __getitem__(self,index): pass #获取数据集长度 def __len__(self): .
2020-08-02 20:04:36
204
基于QT实现的植物大战僵尸游戏.7z
2019-11-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人