自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 反向传播算法

反向传播算法通过计算损失函数对网络参数的梯度,并利用梯度下降法更新参数,从而最小化损失函数。这个过程包括前向传播、计算梯度、反向传播梯度和更新参数。通过不断迭代这个过程,神经网络可以逐渐学习到数据中的模式,从而提高模型的性能。

2025-03-21 14:50:09 413

原创 最小二乘法

最小二乘法(Least Squares Method)是一种数学优化技术,它通过最小化误差的平方和来寻找一组数据的最佳函数匹配。这种方法常用于线性回归分析中,用于估计线性模型的参数。最小二乘法的基本思想是:找到一个函数,使得所有数据点到这个函数的垂直距离的平方和最小。

2025-03-21 11:24:44 147

原创 切线、斜率、梯度和导数以及其关系

导数:描述单变量函数在某一点的变化率,是函数在该点的切线斜率。梯度:描述多变量函数在某一点的变化率,是一个向量,其方向是函数增加最快的方向,大小表示变化率。关系:单变量函数的导数是梯度的特例,多变量函数的梯度是偏导数的集合。应用:在优化问题中,通过求导(单变量)或梯度(多变量)并令其为零,可以找到函数的极值点。

2025-03-20 17:04:34 718

原创 在anconda中离线安装pytorch

离线安装pytorch

2025-03-19 14:43:03 182

原创 vscode中python代码格式化工具 Black Formatter

vscode中python代码格式化

2025-03-18 11:45:43 269

原创 将 LabelMe 的 JSON 文件转换为带有标注的图片

通过这种方式,标注区域将显示为白色,其他区域显示为黑色,并且不包含任何标签文本。

2025-03-12 14:17:25 170

原创 提取coco数据集中的特定类别

提取coco数据集中特定的类别

2025-02-26 10:05:51 384

原创 RK3576部署yolov5

为了使用 RKNPU,需要先在电脑上运行 RKNN-Toolkit2 工具,将训练好的模型转换为 RKNN 格式的模型,然后在开发板上使用 RKNN C API 或 Python API 进行推理。然后再利用rknn-toolkit2//rknpu2/examples/rknn_yolov5_demo/convert_rknn_demo/yolov5做转化,转成rknn进行部署。下载之后安装相应的环境:yolov5的环境安装就不在此过多赘述了。模型做一些修改,主要是将官方的模型的box decode删除。

2024-12-04 10:35:45 416

原创 yolo中bx,by, bw, bh和tx, ty, tw, th的区别

网络实际学习的目标是tx、ty、tw、th这四个偏移量(offsets),通过这些偏移量可以求得真正需要的bx、by、bw、bh四个坐标。通过学习偏移量,可以对网络原始给定的锚框坐标进行线性回归微调,使其逐渐靠近真实边界框(groundtruth)。在YOLO算法中,bx、by、bw和bh与tx、ty、tw和th是预测边界框时使用的两组不同的参数,它们之间有直接的转换关系。其中,σ:表示sigmoid函数,cx和cy是网格单元左上角的坐标, pw和ph是锚框的宽度和高度。

2024-11-20 11:10:54 445

原创 RK3576部署测试mobilenet

RKNN-Toolkit-Lite2 为 Rockchip NPU 平台提供 Python 编程接口,帮助用户部署 RKNN 模型,加速 AI 应用的落地。RKNN Runtime 为 Rockchip NPU 平台提供 C/C++ 编程接口,帮助用户部署 RKNN 模型,加速 AI 应用的落地。RKNN-Toolkit2 是一款软件开发套件,供用户在 PC 和 Rockchip NPU 平台上进行模型转换、推理和性能评估。RKNN 软件栈可以帮助用户快速将 AI 模型部署到 Rockchip 芯片上。

2024-11-18 19:13:06 233

原创 Ubuntu 22.04 安装配置opencv

​OpenCV下载:https://opencv.org/releases/​编译与安装CMAKE_BUILD_TYPE=RELEASE:表示编译发布版本CMAKE_INSTALL_PREFIX:表示生成动态库的安装路径,可以自定义WITH_GTK=ON:这个配置是为了防止GTK配置失败:即安装了libgtk2.0-dev依赖,还是报错未安装OPENCV_GENERATE_PKGCONFIG=YES:表示自动生成OpenCV的pkgconfig文件,否则需要自己手动生成。

2024-11-13 18:50:45 495

原创 yolov5报错记录ckpt = torch.load(attempt_download(w), map_location=device)

解决方法:遇到的 FutureWarning 确实与 PyTorch 2.4.0 中的更改有关。要解决此问题,请确保您使用的是最新版本的 Ultralytics 软件包,因为更新可能包括与较新的 PyTorch 版本兼容的修复程序。

2024-10-17 20:03:11 810

原创 更改文件夹下所有照片的格式

函数定义:change_photo_format函数接受两个参数,directory是包含照片的目录路径,new_extension是新的文件扩展名,默认为.jpg。分割文件名:使用os.path.splitext()分离文件名和扩展名。构建文件路径:使用os.path.join()构建每个文件的完整路径。检查文件类型:使用os.path.isfile()检查路径是否为文件。遍历文件:使用os.listdir()遍历指定目录中的所有文件。构建新文件名:使用新的扩展名构建新的文件名。

2024-08-14 14:10:25 390

原创 验证用xml标注的图像类别

确保将image_path、annotation_path和output_path变量替换为实际的文件路径。运行脚本后,将在输出路径生成一张带有边界框和类别名称的图片。

2024-08-12 14:31:34 384

原创 给文件夹下所有文件名都加上前缀

确保将directory变量设置为包含你想要重命名的文件和文件夹的目录路径,并将prefix设置为你想要添加的前缀。运行脚本后,目录中的所有文件和文件夹都将被重命名,新名称中将包含添加的前缀。注意:这个脚本会递归地对所有文件和文件夹进行操作,如果目录中包含子目录,子目录中的文件也会被重命名。如果你只想对文件或特定类型的文件进行操作,你可以添加额外的条件检查。

2024-08-09 17:08:43 352

原创 删除所有多余的yolo格式下txt文件标签,只保留个别类别

确保将input_dir和output_dir变量设置为实际的目录路径,并将classes_to_keep列表设置为你需要保留的类别索引。这个脚本会创建一个新的标注文件,其中只包含所需类别的标注,并将它们保存在指定的输出目录中。读取每个YOLO标注文件,检查每个标签是否属于你希望保留的类别列表,如果不在列表中,则不会写入到新文件中。

2024-08-09 13:54:55 214

原创 用yolo数据集的txt格式来验证图片的标签类别

这个脚本将在当前脚本运行的目录下保存一个名为’annotated_image.jpg’的图片文件,其中包含绘制的边界框和类别标签。绘制边界框:根据YOLO格式的坐标计算边界框的左上角和右下角坐标,并使用cv2.rectangle绘制边界框。函数定义:draw_boxes_and_classes函数接受三个参数:图片路径、标注文件路径和类别字典。读取标注文件:逐行读取标注文件,并解析每行的类别索引和边界框坐标。保存图片:使用cv2.imwrite保存绘制后的图片。

2024-08-09 13:46:20 408

原创 用python对数据集进行处理。

更改文件夹中所有xml文件的目标的类别&&提取多个文件夹中的所有xml文件和图片文件

2024-08-08 16:06:25 163

原创 数据集按比例划分、格式转换(xml转txt、txt转xml)和数据整合

数据集按比例划分&&格式转换(txt转xml,xml转txt)&&将一个包含多个子文件夹的目录中的所有图片复制到一个单独的目标文件夹中。

2024-08-08 14:44:37 320

原创 利用opencv库对视频文件进行裁剪

【代码】利用opencv库对视频文件进行裁剪,并整合文件夹。

2024-08-07 09:39:41 282 1

原创 常见图像格式

图片格式

2022-06-14 10:07:39 540

原创 机器学习笔记8——抑制过拟合之Dropout、BN

过拟合:网络在训练数据上效果好,在测试数据上效果差。抑制过拟合的方法有以下几种:(1)dropout(2)正则化(3)图像增强本次主要谈论一下dropoutdropout定义:是一种在学习的过程中随机删除神经元的方法。训练时随机选取隐藏层的神经元,并将其删除。如图所示:主要作用:(1)取平均的作用(2)减少神经元之间复杂的共适应关系: 因为dropout程序导致两个神经元不一定每次都在一个dropout网络中出现。这样权值的更新不再依赖于有固定关系的隐含节点的共同作用,阻止了某些特征

2022-05-25 21:03:39 695

原创 Pytorch学习笔记4——总结

本文主要从以下5个方面对之前所学知识做出总结:1.创建模型的三种方法单层创建 nn.Linear多层创建 torch.nn.Sequential自定义类(继承自 nn.Module)2. 数据输入方式从 ndarray 创建 Tensor 直接切片输入使用 torch.utils.data.TensorDataset 创建dataset 使用 torchvision.datasets 的内置数据集使用torch.utils.data.DataLoader 封装3.模型训练的步骤

2022-05-25 16:08:40 176

原创 Pytorch学习笔记3——实例MNIST

torchvisiontorchvision是pytorch的一个图形库,它服务于PyTorch深度学习框架的,主要用来构建计算机视觉模型。以下是torchvision的构成:torchvision.datasets: 一些加载数据的函数及常用的数据集接口;torchvision.models:包含常用的模型结构(含预训练模型),例如AlexNet、VGG、ResNet等;torchvision.transforms:常用的图片变换,例如裁剪、旋转等torchvision.utils: 其他的一

2022-05-25 14:19:51 239

原创 Pytorch学习笔记2——dataset,DataLoader,sklearn添加验证

1.添加读热编码pd.get_dummies(data.salary)2.Datasetdataset进行重构PyTorch有一个抽象的Dataset类。Dataset可以是任何具有len函数和getitem作为对其进行索引的方法的函数。PyTorch的TensorDataset 是一个包装张量的Dataset。通过定义索引的长度和方式,这也为我们提供了沿张量的第一维进行迭代,索引和切片的方法。这将使我们在训练的同一行中更容易访问自变量和因变量。from torch.utils.data

2022-05-23 19:23:30 815

原创 Pytorch学习笔记实例1——二分类

#!/usr/bin/env python# coding: utf-8# In[1]:import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport torch# In[34]:# 读数据# In[2]:data = pd.read_csv('./dataset/credit-a.csv',header=None)# In[3]:data# In[35]:

2022-05-18 17:40:57 235

原创 机器学习笔记7——张量与数据类型

张量(Tensor)Pytorch最基本的操作对象是Tensor(张量),它表示一个多维矩阵,张量类似于NumPy的ndarrays,张量可以在GPU上使用以加速计算。构造一个随机初始化的矩阵: torch.rand;全 0 矩阵: torch.zeros;全 0 矩阵: torch.ones;直接从数据构造张量: torch.tensor;• 32位浮点型:torch.float32• 64位浮点型:torch.float64• 32位整型: torch.int32• 16位整型:

2022-05-18 15:09:18 663

原创 matplotlib和numpy的使用

matplotlibmatplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建1.设置图片大小2.调整X或者Y轴上的刻度numpy一个在Python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,多用于在大型、多维数组上执行数值运算1.轴(axis)对于一个一维数组,只有一个0轴,对于2维数...

2022-05-17 15:25:28 983

原创 机器学习6——CNN

常见的图片分类输入一张图片,把图片以同等的大小尺寸放入模型中,输出预测结果和真实结果进行比较。一张彩色图片分为3个channel(RGB),把图片通过Flatten拉直,放入全连接再经过softmax得到结果。但是整张图片放入全连接网络中容易增加过拟合的风险,因此可以采取看局部的特征,每一个神经元都看一些局部的特征信息来辨识物体。如果在不同区域但检测内容一样,如出现下图所示的内容采用参数共享的方式另一解释方式感受野扩大视野只需增大加深卷积。参数共享就是感受

2022-05-17 14:59:57 292

原创 机器学习笔记 5 —— 损失函数

1.把会归回当作分类来看在回归中把x输入到模型中得到一个预测的值y,使预测的值和真实值越接近越好。2. 分类分类在之前回归的基础上加了softmax。softmax的公式计算预测值与真实值之间的距离。通常有两种方法:1. 用均方误差(MSE)来求解;2. 交叉熵(Cross-entropy) 更适合求解,在pytorch中softmax被内置到了Cross-entropy中。在MSE中很难找到最优解。...

2022-05-17 12:31:38 382

原创 机器学习4——学习率

自动调节学习率在网络训练中不同的参数需要不同的学习率,如果对学习率不做任何调整可能在很大程度上都难以找到最优的解。如图所示因此有了如下三种方法来调整学习率1. Apagrad方法在平的方向需要学习率大一些,走的快一点。在一些陡的方向需要Lr小一些。越陡g越大,lr越小,走的越慢。然而,在同参数同方向上有时也需要不同的学习率,如图所示。为此提出了RMSProp的方法2. 通过控制α的大小来动态的调整学习率,α越大学习率就越小,前进的距离就小,α越小前进的距离就越大。3.

2022-05-17 10:54:09 1478

原创 机器学习笔记3——Batch和动量

Batch把训练数据分为几个批次为一组进行训练,而不是把所有数据都放在一起一次性进行。使用batch的优点Momentum 动量如果加入动量就会避免一些局部最小值或者鞍点的发生。

2022-05-16 17:14:51 262

原创 机器学习笔记2——optimization

在通常训练时经常会遇到上述几种问题;而优化时也会遇到如下图所示无法找见最优值。如图所示,局部最小值和鞍点都是梯度等于0的临界点loss函数可近似写为此公式:其中g代表了之间的差距在临界点时,g=0如果为鞍点如何调整?u是H的特征向量,入为H的特征值;沿u的方向做更新,loss变小。...

2022-05-16 16:16:06 233

原创 机器学习笔记1——主要过程和优化方法

一、机器学习基础1.创建模型2.输入一张带标签的图片3.使用模型对其进行预测4.将预测结果与实际标签比较,产生的差距为损失;5.以减少损失为优化目标,根据损失优化模型参数;6.循环重复上述第2—5步。二、Optimization 优化2.1优化步骤优化W和 b的值,使其找到最小的loss用梯度下降算法求解梯度 梯度:由全部变量的偏导数汇总而成的向量。 移动的大小由学习率η和计算的偏导数决定。 ...

2022-05-15 17:08:44 186

原创 用pytorch实现简单的线性回归

前言用pytorch,实现简单的线性回归。# 一、用torch中内置的方法进行:用pandas读取事先准备好的csv文件,这个csv文件主要包含以下内容:import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport torchdata = pd.read_csv('../Income1.csv')对数据进行可视化的操作2.对数据的类型进行转换,使其转换为tensor(这边我用了两种转换方式

2021-10-23 15:33:26 370

原创 2021-10-22

Pytorch中创建模型的三种方法一、单层创建 nn.Linear代码如下(示例):from torch import nnmodel = nn.Linear(1,1)二、torch.nn.Sequential按顺序进行创建代码如下(示例):import torchfrom torch import nn model = nn.Sequential( nn.Linear(15,1), nn.Sigmoid())三、自定义类(继承自

2021-10-22 20:40:57 109

翻译 如何读论文?(个人笔记)

一篇文章主要由以下部分组成: 1.title 2.abstract 3.introduction 4.method 5.experiments 6.conclusion使用三步法进行阅读:第一遍:查看标题、摘要、结论。看方法和实验中部分重要的图和表。这样可以花费十几分钟时间了解到论文是否适合你的研究方向。第二遍:确定论文值得读之后,可以快速浏览整篇论文,详细的了解重要的图和表,知道每一个部分在干什么,圈出相关的重...

2021-10-16 19:48:25 134

原创 torch.range()和torch.arange()的区别

1. torch.arange()方法可以通过输出一个值来进行创建随机数,而torch.range()不可以;2. torch.arange()不包含end的值。

2021-10-14 20:36:46 1891

原创 Pycharm 中运行代码出现ImportError: DLL load failed: 找不到指定的模块的问题解决

问题原因:在系统中没有设置好环境变量,具体解决如下:注意:我安装的虚拟环境的名称为pytorch,具体根据自己的虚拟环境的名称来定。

2021-10-12 11:16:36 721

原创 指定服务器中的特定GPU

如果服务器上有多块儿GPU可以供使用,但此时你希望在指定的服务器上跑,这个时候我们可以使用环境变量CUDA_VISIBLE_DEVICES来解决这个问题。watch -n 1 nvidia-smi #查看当前多块GPU的状态然后设置指定的GPU,例如设定在第二个GPU上运行,可设置为:os.environ['CUDA_VISIBLE_DEVICES'] = '1'...

2021-10-10 13:37:55 1527

配置 conda 的国内清华源

直接下载设置好的conda配 置文件,将其放在用户文件夹中即可。

2021-09-28

java简明教程(第4版)——皮德常版.zip

课程ppt,源码和课后答案!

2019-09-19

空空如也

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

TA关注的人

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