- 博客(37)
- 收藏
- 关注
原创 PyTorch 激活函数及非线性变换详解
激活函数是深度学习模型的重要组成部分,它们引入非线性,从而使模型能够更好地拟合复杂的数据模式。本文将详细介绍激活函数的作用、常见类型、经典应用示例,并比较它们的优缺点。
2024-09-17 14:21:17 1747
原创 PyTorch 池化层详解
池化层(Pooling Layer)在卷积神经网络(CNN)中是关键组成部分,主要用于降维和减少计算量,增强模型的鲁棒性。池化层包括最大池化(Max Pooling)、平均池化(Average Pooling)和全局池化(Global Pooling)。最大池化通过选取池化窗口内的最大值保留显著特征,平均池化计算窗口内的平均值以减少噪声,全局池化将特征图缩小为单个值以简化模型结构和减少参数。池化层通过降维、特征提取和抑制噪声显著提高了模型的计算效率和鲁棒性。
2024-09-17 13:11:46 1569
原创 注册表模式:使用注册表和装饰器函数的模块化设计
本文探讨了如何使用注册表(Registry)和装饰器函数(Decorator Function)实现模块化设计,提升代码的灵活性和可扩展性。注册表模式集中管理和动态获取模块,通过装饰器函数简化模块注册过程。虽然这种设计模式不是严格意义上的工厂方法(Factory Method),但它们在动态实例化对象方面具有相似之处。工厂方法模式将对象创建延迟到子类,而注册表模式集中管理所有注册类,提供更高的灵活性,适用于动态管理和实例化对象的场景。
2024-09-10 18:08:38 964
原创 Shell 编程入门
Shell 编程使用 Unix Shell(如 Bash、Zsh 等)编写脚本来自动化执行命令,广泛应用于系统管理、批处理任务和自动化部署。本文介绍了 Shell 编程的基本结构,包括 Shebang 行、注释、变量、控制结构和函数。通过示例代码展示了如何定义和使用变量、条件语句、循环语句和函数。文章还详细介绍了 echo 和 read 命令,以及 grep、awk 和 sed 这三个强大的文本处理工具,并提供了结合使用这些工具的实际应用示例,帮助读者更好地理解和应用 Shell 编程技术。
2024-09-10 12:12:47 1058
原创 Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录
本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 `resume` 功能继续训练,并将我们复现的模型与Model Zoo中的模型进行比较。
2024-09-08 04:49:16 1415
原创 PyTorch 全连接层(Fully Connected Layer)详解
全连接层(Fully Connected Layer)是神经网络中最基本和广泛使用的层类型,广泛应用于图像分类、文本处理、回归分析等任务中。本文详细介绍了全连接层的基本概念、PyTorch中的实现、输入和输出维度变化、主要解决的问题及典型应用场景。全连接层通过线性变换和非线性激活函数,对输入特征进行变换和抽象,提取更高层次的特征。训练过程中,权重矩阵和偏置向量通过反向传播算法进行更新,优化模型性能。全连接层在图像分类、文本分类、回归任务及多层感知器(MLP)中有广泛应用,理解其工作原理和应用场景对于构建高效
2024-09-03 18:10:16 4390
原创 PyTorch 卷积层详解
本文详细介绍了 PyTorch 的二维卷积层(`nn.Conv2d`),涵盖其参数设置、卷积核的作用、特征图的生成过程,以及如何根据任务需求设置 `out_channels` 参数。通过示例代码展示了如何读取 JPEG 图片、进行卷积操作并保存结果为新图片。解释了 `stride` 和 `padding` 参数对特征图大小的影响,为什么使用 Sigmoid 函数处理输出,以及每个卷积核的独立性和特征提取能力。本文旨在帮助读者更好地理解和应用 PyTorch 的卷积层,构建高效的深度学习模型。
2024-09-03 09:13:37 1287
原创 Pytorch :张量(Tensor)详解
张量(Tensor)是深度学习和科学计算中的核心概念,表示多维数组,用于描述标量、向量、矩阵和高阶数据结构。张量支持各种数学运算和聚合操作,如加法、乘法、转置、求和、均值等。PyTorch 提供了多种创建张量的方法,包括从 Python 列表、元组和 NumPy 数组创建,以及生成随机数(均匀分布、正态分布等)。为了确保结果的可重复性,可以设置随机种子。张量还可以在不同设备(CPU、GPU)上进行计算,利用 GPU 加速深度学习模型的训练和推理。利用张量及其操作,深度学习框架(如 PyTorch)能够实现高
2024-08-29 09:53:07 2185
原创 PyTorch概述
PyTorch 是一个开源的机器学习框架,由 Facebook 的人工智能研究团队开发。它广泛用于深度学习和神经网络的研究和开发。PyTorch 以其动态计算图、灵活性和简单易用的接口而闻名,深受研究人员和开发者的喜爱。这些模块和子模块构成了 PyTorch 的完整生态系统,涵盖了从基础张量操作到高级模型优化和分布式训练等各个方面。通过这些工具,研究人员和开发者可以高效地进行机器学习和深度学习的研究与开发。
2024-08-28 15:05:43 1229
原创 Matplotlib 详解
在本篇文档中,我们详细介绍了如何使用 Matplotlib 进行数据可视化,从基础的安装和配置到各种复杂的图表类型和高级功能。通过这些示例,你可以掌握 Matplotlib 的基本用法,并在实际项目中灵活运用它来进行数据可视化。
2024-08-28 08:49:29 422
原创 NumPy介绍
NumPy(Numerical Python)是Python的科学计算库,提供高性能多维数组和矩阵运算功能,以及丰富的数学函数库。核心功能包括多维数组对象ndarray、广播机制、向量化运算、丰富的数学函数库和高级索引与切片。NumPy广泛应用于数据分析、科学计算和图像处理等领域,具有高性能、易于使用和强大的社区支持。NumPy是Python科学计算生态系统的基础,许多其他库(如SciPy、Pandas、Matplotlib、TensorFlow等)都依赖于NumPy进行底层数据处理。安装NumPy可以通过
2024-08-26 19:57:40 952
原创 如何通过SSH远程登录到docker容器内部
本文介绍了如何在容器中安装和配置SSH服务,以便通过SSH远程登录到容器内部。步骤包括更新包列表、安装OpenSSH服务器、配置SSHD服务、启动并检查SSHD服务、设置root用户密码、通过SSH连接到容器。最后,提交容器改动为新镜像,并推送到阿里云镜像仓库。通过这些步骤,你可以轻松管理和调试容器。
2024-08-21 17:57:26 1089
原创 docker inspect输出内容详解,推测容器运行命令
docker inspect 命令输出容器的详细信息,包括基本信息、主机配置、存储驱动信息、挂载点信息、容器配置和网络设置。基本信息显示容器的ID、创建时间、启动命令、状态等。主机配置包括卷绑定、日志配置、网络模式、端口绑定、重启策略等。存储驱动信息包括叠加文件系统的目录信息。挂载点信息显示挂载类型和路径。容器配置包括环境变量、工作目录、入口点、标签等。网络设置显示桥接网络、端口映射、IP地址、网关等。这些信息帮助了解容器的运行环境和资源使用情况。
2024-08-21 12:32:48 1370
原创 Docker简介
Docker是一种开源的容器化平台,旨在简化应用程序的开发、部署和运行过程。它通过将应用程序及其依赖项打包到一个标准化的单元(即容器)中,使得应用程序可以在任何环境中一致地运行。Docker的核心概念包括镜像、容器、Dockerfile、Docker Hub、编排工具、网络和数据卷。网络用于管理容器间的通信,数据卷则用于持久化数据。掌握这些核心概念和组件,可以帮助更好地设计和管理Docker应用,提高系统的可用性、安全性和性能。常用的配置文件包括Dockerfile、docker-compose.yml、d
2024-08-21 11:54:27 989
原创 Docker 安装与配置 Docker Registry 指南
本文详细介绍了如何安装 Docker 并配置 Docker Registry。首先,通过解压和执行安装脚本成功安装 Docker,并加载和标记了所需的镜像。接着,创建并配置 Docker Registry 的配置文件 config.yml,运行 Docker Registry 容器,并确保其正常运行。随后,编辑 Docker Daemon 配置文件以支持私有注册表,并重启 Docker 服务。最后,成功从私有注册表拉取镜像,并将镜像推送到本地私有注册表,确保镜像在私有注册表中可用。整个过程涵盖了镜像加载、容
2024-08-21 11:22:01 1790
原创 python中的zip用于将多个可迭代对象(如列表、元组)中的元素配对
在 Python 中,zip 是一个非常有用的内置函数,用于将多个可迭代对象(如列表、元组)中的元素配对,并返回一个由元组组成的迭代器。每个元组包含来自每个可迭代对象的对应元素。
2024-08-16 07:07:35 428
原创 利用 Python 的包管理和动态属性获取(`__init__.py` 文件和 `getattr` 函数)特性来实现工厂方法模式
Python 提供了许多灵活的特性,例如包的 __init__.py 文件和 getattr 函数,这些特性可以帮助我们实现工厂方法模式来动态地创建不同类型的数据集实例
2024-08-15 11:54:08 750
原创 return [dataset] :为什么使用中括号将 dataset 包装成一个列表并返回
return [dataset] :为什么使用中括号将 dataset 包装成一个列表并返回
2024-08-15 10:25:39 348
原创 dataset = factory(**args) 中**args的作用: Python中的一种参数解包语法,用于将字典中的键值对作为关键字参数传递给函数或方法。
**args 是Python中的一种参数解包语法,用于将字典中的键值对作为关键字参数传递给函数或方法。
2024-08-15 10:20:23 784
原创 tmux:适合需要长时间运行任务的用户
tmux 是一个强大的终端多路复用器,允许用户在一个终端窗口中管理多个会话(session)、窗口(window)和面板(pane)。会话是 tmux 的最顶层概念,一个会话可以包含多个窗口,每个窗口可以进一步拆分为多个面板。窗口类似于独立的终端会话,而面板则是窗口内的独立终端区域,允许同时查看和运行多个任务。tmux 提供了丰富的命令和快捷键来创建、切换、重命名和关闭会话、窗口和面板。此外,嵌套启动会话是不推荐的,因为这可能导致键绑定冲突和会话管理混乱。相反,可以在一个会话中使用窗口和面板功能来管理多个子
2024-08-07 12:09:34 770
原创 在自定义数据集上训练现有的Detectron2模型
本文介绍了如何使用气球分割数据集(仅包含一个类别:气球)进行模型微调,并详细描述了数据处理、模型训练、推理和评估的流程。训练过程基于预训练的 COCO 模型,这些模型可以在 Detectron2 的模型库中获取。步骤包括:自定义数据集的数据处理和可视化。使用自定义数据集训练模型。在验证集上进行推理并可视化结果。评估模型在验证集上的性能,并计算平均精度(AP)。使用微调后的模型对新图像进行推理并可视化结果。文章还提供了相关的 Python 脚本,包括数据集注册和可视化、模型训练、验证集推理和
2024-08-03 09:03:37 996
原创 使用Dockerfile构建一个包含NVIDIA的PyTorch和Detectron2的镜像
构建镜像:基于指定的Dockerfile和上下文(包括detectron2目录),构建并标签为。查看镜像:构建成功的镜像大小为20.7GB。保存镜像:将镜像保存为文件,便于分发和备份。这样通过这些步骤,用户可以构建、查看和保存一个包含Detectron2的Docker镜像。这个过程详细展示了每一步的执行和输出,对于理解Docker操作和镜像管理具有很好的参考价值。这一段内容说明了如何使用docker run命令来启动一个包含Detectron2环境的Docker容器,并查看正在运行的容器。
2024-08-01 18:51:42 1058
原创 了解目标检测:两阶段检测(Two-Stage Detection)、单阶段检测(Single-Stage Detection)和区域建议网络(RPN)
在两阶段检测中:RPN作为生成候选区域的关键组件,通过滑动窗口和锚点机制在特征图上生成高可能包含目标的候选区域。随后这些区域被进一步分类和调整,以提高检测精度。在单阶段检测中:没有RPN,直接在图像或特征图上进行预测。这减少了计算复杂度,但可能牺牲了一些细粒度的检测精度。Faster R-CNN:约100-200毫秒/图像YOLOv3:约22毫秒/图像Mask R-CNN:约200-300毫秒/图像YOLOv4:约30毫秒/图像Cascade R-CNN:约150-250毫秒/图像。
2024-07-29 09:11:11 2471
原创 什么是包(package),为什么需要有 `__init__.py` 文件,`__init__.py` 一般包含什么内容?
在 Python 中,包(package)是一种用于组织和结构化代码的模块化方式。包通过目录结构将相关的模块组织在一起,使代码结构更加清晰,便于维护和重用。一个包实际上是一个文件夹,其中包含了多个 Python 模块和一个特殊的文件。这个文件夹可以进一步包含子包,从而创建层次化的模块结构。在上面的示例中,package和subpackage都是包,它们分别包含自己的文件以及一些模块文件。
2024-07-27 19:25:15 416
原创 OKS (Object Keypoint Similarity)公式详细解释
OKS 是通过高斯衰减函数,对所有关键点的误差进行加权平均得到的关键点相似度度量。OKS 的引入有效处理了不同关键点的可见性和尺度差异问题,从而提供了一个鲁棒的姿态估计评估标准。σ\sigmaσ标准误差是一个统计学概念,通常用于描述一组数据的离散程度。σ1N∑i1Nxi−μ2σN1∑i1Nxi−μ2其中,σ\sigmaσ为标准误差NNN为测量总次数xix_ixi为第iii次测量的结果μ\muμ为平均值。
2024-07-26 17:10:41 817
原创 kp. AP 关键点的平均精度(AP:Average Precision)及OKS (Object Keypoint Similarity)公式详细解释
OKS 是通过高斯衰减函数,对所有关键点的误差进行加权平均得到的关键点相似度度量。OKS 的引入有效处理了不同关键点的可见性和尺度差异问题,从而提供了一个鲁棒的姿态估计评估标准。σ\sigmaσ标准误差是一个统计学概念,通常用于描述一组数据的离散程度。σ1N∑i1Nxi−μ2σN1∑i1Nxi−μ2其中,σ\sigmaσ为标准误差NNN为测量总次数xix_ixi为第iii次测量的结果μ\muμ为平均值。
2024-07-26 17:03:06 880
原创 平均召回率(Average Recall, AR)及其与平均精度(Average Precision, AP)的区别
平均召回率(Average Recall, AR)及其与平均精度(Average Precision, AP)的区别
2024-07-26 11:34:47 1034
原创 平均精度(Average Precision,AP)以及AP50、AP75、APs、APm、APl、Box AP、Mask AP等不同阈值和细分类别的评估指标说明
平均精度(Average Precision,AP)以及不同阈值和细分类别的评估指标AP50、AP75、APs、APm、APl说明
2024-07-25 11:57:50 4414 1
原创 COCO数据集概述
COCO 数据集结构通常分为图像文件夹和注释文件夹。符合特定的目录结构和文件命名约定对于正确加载和处理 COCO 数据集至关重要。以下是关键点:数据集目录结构:确保图像和注释文件位于正确的目录中,并按预期的文件名命名。多版本兼容性:可以使用2014和2017版本的数据集,确保目录结构的一致性。
2024-07-24 08:59:47 994
原创 Faster R-CNN、Mask R-CNN和Keypoint R-CNN概况
Faster R-CNN是用于对象检测的模型,Mask R-CNN在其基础上增加了实例分割功能,而Keypoint R-CNN进一步扩展Mask R-CNN以实现关键点检测和姿态估计。
2024-07-24 08:29:05 1039
原创 lr、lr sched、1x和3x都是什么?
本文详细介绍了学习率(lr)、学习率调度策略(lr sched)、以及深度学习模型的常见训练策略(1x策略和3x策略)的基本概念、作用和实现方法。合理的学习率设置和调度策略可以极大地提升模型的训练效果和效率。通过结合具体任务和数据集的特性,优化这些超参数,可以更好地发挥深度学习模型的潜力。希望本文能够为您的深度学习模型训练提供有价值的参考。
2024-07-23 09:47:10 866
原创 CNN、R-CNN、Fast R-CNN 和 Faster R-CNN 都是什么?如何区分?
这几个模型的名字怎么这么像?为什么这些模型的名称中包含了“CNN”?
2024-07-22 09:26:29 645
原创 使用YOLOV5 7.0 detect.py进行推理(windows版本)
个人电脑是一个带RTX4050 GPU显卡的笔记本电脑,准备在这台笔记本电脑上运行YOLOV5 7.0自带的detect.py进行推理。
2023-12-07 18:03:00 524
原创 YOLOv5 V7.0 detect.py代码分析
detect.py是Ultralytics的YOLOv5目标检测框架的一部分,这个脚本用于在不同类型的源(例如图像、视频、目录、网络摄像头和流媒体)上运行检测推理。要使用这个脚本,您需要安装YOLOv5及其必要的依赖项(PyTorch、OpenCV等)。您可以在命令行中调用该脚本,并为您希望执行的任务提供适当的参数。
2023-12-05 21:54:31 406
在自定义数据集上训练现有的Detectron2模型
2024-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人