Python深度学习
文章平均质量分 77
你是AI领域的新手还是希望提升现有技能的专业人士,本专栏将为你提供实用的代码示例、最新的研究进展、以及深度学习理论的深入解析。从基础概念到高级算法,我们将手把手教你如何构建、训练和部署深度学习模型,解锁数据的潜力,创造出令人惊叹的应用。现在,开启你的AI学习之旅!
惊鸿若梦一书生
人工智能方向硕士和博士。已发表SCI(二区)论文1篇,EI论文4篇,著作1部,并多次获得国家级证书,主持申报并结项三项科研基金项目,累计经费逾50W。中国自动化协会会员,CSDN专栏作家,博文累计阅读量逾120W。
展开
-
【Python深度学习】逆强化学习(IRL):通俗揭开学习背后的奥秘
逆强化学习的核心问题给定智能体的行为,能否推断出它追求的目标或奖励是什么?举个例子:假设你观察一个老练的司机在开车,他在不同的交通状况下作出了许多决策,例如转弯、减速、加速等。你并不知道他是如何做出这些决策的,但你能看到他开车的方式相当平稳、安全。逆强化学习的目标就是:通过观察司机的行为反推出他是依据什么样的“奖励函数”来做出这些决策的。这个奖励函数可能包含了诸如“避免事故”、“节省时间”、“节约油耗”等不同因素。原创 2024-09-14 11:06:53 · 169 阅读 · 0 评论 -
Python深度学习:【开源数据集系列】ImageNet数据集
ImageNet 是一个大规模的视觉数据集,是计算机视觉领域最重要的基准数据集之一。该数据集由普林斯顿大学和斯坦福大学的研究人员发起,于2009 年推出。ImageNet 是用于物体分类目标检测图像分割姿势估计等多种任务的通用数据集,尤其在深度学习和计算机视觉的突破性研究中具有重要地位。原创 2024-09-06 09:54:38 · 340 阅读 · 0 评论 -
【Python深度学习】联邦学习概述、实现技术和主流联邦学习方法
联邦学习的关键思想是`“数据不动,模型动”`,即`数据保留在本地设备上`,而`模型参数(或更新后的梯度)被传输到中央服务器`。在这种架构下,数据隐私和安全得到了很大的保障,尤其在涉及敏感数据的应用场景中具有重要意义。原创 2024-09-04 10:11:05 · 569 阅读 · 0 评论 -
【Python深度学习】做深度学习训练时,如果数据集太大,无法一次性加载进GPU,应该如何做?
方法核心思想优点缺点适用场景实现复杂度小批量训练(Mini-Batch Training)与数据加载器(DataLoader)将数据集划分为小批量,每次只加载一个小批量到GPU中进行训练。- 易于实现- 是深度学习的标准做法- 支持多进程加载- 内存可能成为瓶颈- 需要调整批量大小避免内存不足适用于大部分场景低数据分片与分布式训练(Data Sharding & Distributed Training)将数据集分片,每个GPU或节点处理其中一部分数据,分布式训练。原创 2024-08-27 11:24:19 · 328 阅读 · 0 评论 -
【Python深度学习】图像分割经典网络:U-Net
U-Net是一种深度学习网络,最初由Olaf Ronneberger等人在2015年为医学图像分割而设计。这个网络特别适用于那些需要精确分割的任务,如细胞分割、组织结构分析等。U-Net之所以受到广泛关注,主要是因为它的网络结构特别适合处理少量数据而得到高精度的分割效果。原创 2024-08-20 14:55:03 · 238 阅读 · 0 评论 -
【Python深度学习】图片识别任务中,原始数据集中图片的大小不固定时,用代码设置大小为多少合适?
在做图片分类识别任务时,如果没有公开数据集的情况下,需要自己去网上找相应的图片数据,但是各种各样的图片大小不一致,手动截图的话,大小无法保证,所以此时,最好就是用代码来固定大小。在图片识别任务中,数据集中图片的大小设置取决于多种因素,包括模型的架构、计算资源以及具体的任务需求。以下是一些常见的图片大小设置建议:经典模型(例如VGG, ResNet等):较小的图片(例如MobileNet, EfficientNet等):自定义任务:数据增强和预处理:推荐的图片尺寸一般在 到 之间,具体选择需要根据你的模型原创 2024-08-20 09:00:00 · 179 阅读 · 0 评论 -
【Python深度学习】如何实现将将时间序列转换为图像的功能
要将时间序列转换为图像,可以使用多种方法,其中一个流行的方法是通过马尔可夫转移场MTF下面我们将介绍如何使用 Python 库pyts实现这一功能。原创 2024-08-12 10:00:00 · 406 阅读 · 0 评论 -
【python深度学习】通俗易懂的理解一下transformer、RNN、CNN的主要区别
RNN适合处理序列数据,能捕捉序列中的依赖关系,但对于长序列有局限。CNN擅长处理图像数据,通过局部感知提取特征,但不适合处理序列数据。通过自注意力机制并行处理整个序列,适合处理长序列和需要捕捉复杂依赖关系的数据,但计算复杂度较高。原创 2024-07-10 14:33:33 · 320 阅读 · 0 评论 -
【深度学习】常用命令行指令汇总
这些指令对于管理深度学习环境、监控资源使用、调试程序等方面。原创 2024-06-28 13:39:53 · 258 阅读 · 0 评论 -
【分布式】Pytorch在多GPU环境的分布式训练中常见问题汇总
分布式训练涉及在多个计算单元上并行地训练深度学习模型。在多 GPU 环境中,这通常意味着模型的训练过程被分散到多个 GPU 上,以加速训练过程并处理更大的数据集。PyTorch 提供了多种工具和库来支持分布式训练,如(DDP) 等。原创 2024-06-25 20:56:43 · 274 阅读 · 0 评论 -
【计算机视觉】mmcv库详细介绍
该库涵盖了从数据加载到模型训练的各个方面,广泛应用于开源项目,如 MMDetection、MMPose、MMClassification 等,这些都是 OpenMMLab 项目的一部分。:作为 OpenMMLab 的一部分,MMCV 享受到一个活跃的社区支持,包括频繁的更新和大量的文档资源。MMCV 的运行器(Runner)抽象了训练循环,使得用户只需关注模型构建、数据处理和配置设置,而训练的执行细节由 MMCV 管理。:封装了训练过程的管理,包括训练循环、验证和测试,以及日志记录和模型检查点的保存。原创 2024-06-25 20:51:06 · 395 阅读 · 0 评论 -
Python深度学习:融合网络 | LSTM网络和ResNet网络融合 | 含随机生成的训练数据集
LSTMResNet 类接受两个输入(LSTM的序列输入和ResNet的图像输入),分别通过LSTM和ResNet进行处理,然后将它们的输出拼接在一起,通过全连接层进行分类。RandomDataset 类生成随机的序列数据和图像数据,并确保它们具有所需的形状。调整数据加载器和前向传播步骤以处理两个输入。原创 2024-06-13 14:47:39 · 720 阅读 · 1 评论 -
Python深度学习:Bi-LSTM和LSTM在网络上有什么区别,对比来看
Python深度学习:Bi-LSTM和LSTM在网络上有什么区别,对比来看原创 2024-06-12 08:44:28 · 209 阅读 · 0 评论 -
Python深度学习:最全的RML2018a数据集预处理代码
【代码】Python深度学习:最全的RML2018a数据集预处理代码原创 2024-05-24 14:05:49 · 588 阅读 · 0 评论 -
Python深度学习:【模型系列】一文搞懂Transformer架构的三种注意力机制
注意力机制最初受到人类视觉注意力的启发,目的是让模型在处理大量信息时能够聚焦于当前任务最为相关的部分。在深度学习中,注意力机制允许模型动态地将关注点分配到输入数据的重要部分上,提高了模型处理信息的效率和效果。这种机制尤其在自然语言处理和图像识别领域表现出强大的能力,能够显著提升模型处理序列数据的性能。Transformer 通过其独特的自注意力层和多头注意力机制,配合位置编码和专门的结构设计,极大地。原创 2024-05-28 20:44:57 · 126 阅读 · 0 评论 -
Python深度学习:【模型系列】Transformer面试灵魂20问
Transformer模型是一种基于自注意力机制的神经网络架构,主要用于处理序列数据,如自然语言处理任务。它由Google在2017年提出,并在“Attention is All You Need”这篇论文中首次公开。Transformer模型的核心思想是利用自注意力机制来捕捉序列中的依赖关系,从而实现对序列数据的有效处理。Transformer模型主要由编码器和解码器两部分组成,每部分都包含多层自注意力机制和前馈神经网络。编码器负责将输入序列转换为一种内部表示,而解码器则利用这种内部表示来生成输出序列。原创 2024-05-28 20:40:18 · 206 阅读 · 0 评论 -
Python深度学习:【模型参数系列】你需要知道的batch_size冷知识
batch_size指的是用于在一个训练迭代中更新模型权重的样本数量。每个批次包含的样本将一起被传递通过网络,进行一次前向传播和一次后向传播,然后基于这些样本计算得出的损失来更新模型的参数。原创 2024-04-22 15:25:45 · 212 阅读 · 0 评论 -
Python深度学习:【模型系列】强化学习简介及优质学习资源
强化学习(Reinforcement Learning, RL)是机器学习的一个子领域,它涉及智能体agent)通过与环境的交互来学习如何在给定的任务中最大化某种累积奖励。强化学习不同于监督学习,它不依赖于预先标注的输入/输出对,而是通过试错的方法发现奖励信号最大化的策略。原创 2024-04-28 17:18:40 · 356 阅读 · 0 评论 -
Python深度学习:【模型系列】 Transformer模型有哪些著名的变种
Transformer模型自从2017年由Google的研究者引入以来,已经演化出许多重要和有影响力的变体。这些变种模型在不同的任务和领域中被广泛使用,包括自然语言处理、计算机视觉和多模态学习。这些变体展示了Transformer架构的灵活性和强大能力,使得它成为了现代AI系统中的一个基石技术。原创 2024-04-15 09:24:11 · 258 阅读 · 0 评论 -
Python深度学习:【模型系列】Vision Transformer(ViT)的简介
Vision Transformer的`中文名称`通常被翻译为`“视觉变换器”`或`“视觉Transformer”`。这个名字直接来源于其英文缩写“ViT”,并准确反映了其`将Transformer架构应用于视觉(图像处理)领域`的特点。原创 2024-04-09 13:57:55 · 319 阅读 · 0 评论 -
Python深度学习:【环境系列】cuda的环境如何配置
红框的cuda版本,是你的显卡能装的最高的cuda版本,所以可以选择低于它的版本。比如我的是11.4,你可以选择11.3。安装与cuda配套的pytorch和torch_cuda。查看pytorch各版本和cuda版本对应关系。找到cuda11.3下面的这段话。根据你的系统选择,然后下载。双击安装(默认安装即可)原创 2024-04-01 15:54:20 · 697 阅读 · 0 评论 -
Python深度学习033:Python、PyTorch、CUDA和显卡驱动之间的关系
Python、PyTorch、CUDA和显卡驱动之间的关系相当紧密,它们共同构成了一个能够执行深度学习模型的高效计算环境。原创 2024-04-01 13:21:14 · 342 阅读 · 0 评论 -
Python深度学习032:conda操作虚拟环境env的全部命令
这些命令涵盖了 Conda 虚拟环境的基本操作。Conda 的功能非常强大,支持更复杂的场景和细致的管理需求。更多详细信息和高级用法,请参考 Conda 的官方文档。使用 Conda,你可以创建、导出、列出、删除和更新环境,这些环境可以包含不同版本的 Python 以及/或软件包。Conda 是一个开源的包管理器和环境管理器,可以用于安装、运行和升级包和环境。是你想要创建的环境的名字。这会将当前环境的包列表导出到一个名为。先激活环境,然后使用。原创 2024-04-01 13:20:50 · 465 阅读 · 0 评论 -
Python深度学习031:用纯python实现堆叠自编码器网络(不使用框架)
堆叠自编码器(Stacked Autoencoder)是一种深度神经网络,主要用于无监督学习任务。它由多个自编码器层次堆叠而成,每个自编码器通常包括一个编码器(Encoder)和一个解码器(Decoder)。原创 2023-12-25 20:41:36 · 1076 阅读 · 0 评论 -
Python深度学习030:torchvision.models有哪些已经写好的模型 | 以resnet18网络为例讲解如何使用(含数据、代码和结果展示)
torchvision.models`提供了一系列预训练的模型,主要用于图像分类、目标检测、图像分割等任务。原创 2023-12-25 15:58:06 · 618 阅读 · 0 评论 -
Python深度学习【GAN生成对抗网络系列】 用GAN生成mnist手写数字图片
生成对抗网络(GAN,Generative Adversarial Networks)是一种深度学习模型,由 Ian Goodfellow 和他的同事在 2014 年首次提出。GAN 是一种非常强大和独特的神经网络架构,用于生成新的、与训练数据相似的数据样本。它在图像生成、艺术创作、音频生成和其他领域取得了显著的成果。原创 2023-12-23 11:11:56 · 1377 阅读 · 0 评论 -
Python数据处理048:Python读写pkl文件
Pickle(.pkl)格式是Python特有的一种数据序列化方式。它允许用户将几乎任何Python对象转换为字节流,并将其存储在文件中。之后,可以从这个文件中恢复(反序列化)原来的Python对象。这种格式广泛用于数据持久化和在程序运行间传递对象。原创 2023-12-22 14:25:49 · 994 阅读 · 0 评论 -
Python机器学习:哪种机器学习算法适合你?| 线性模型 | 逻辑回归 | 最近邻 | 决策树 | SVM | 朴素贝叶斯 | 集成算法 |浅层神经网络 | 深层神经网络
你有数据和应用程序,但应先尝试哪个算法?无论你选择哪个算法,都有好的地方和不好的地方。下面介绍一些选择机器学习算法的基本原则。原创 2023-08-25 15:07:44 · 130 阅读 · 0 评论 -
Pytorch | 基于Pytorch的生成对抗网络
y.backward() 是用于计算梯度的,也就是y对x的导数,dy/dx,计算当x=3.5时的值。但实际上requires_grad=True告诉了pytorch我们需要得到一个关于x的梯度。pytorch将这些张量连成一幅图,以展示这些张量是如何连接的,这幅图就叫做。这行代码除了计算出梯度外,并将梯度与x的实际值一同存储在x中。希望知道z随y的变化情况,就需要知道梯度: dz/dx。输出只多了一些东西,但是仍然是我们想要的结果。当x=3.5时,z=14。原创 2023-07-27 20:34:59 · 389 阅读 · 0 评论 -
Pytorch学习笔记 | GAN生成对抗网络 | 代码 | 生成数据 | 演变规律可视化
这是我们第一次自己生成数据!而且也符合【1,0,1,0】的格式规律!原创 2023-08-02 17:27:35 · 704 阅读 · 0 评论 -
Pytorch学习笔记 | 构建神经网络模型 | 提升效果的优化方法
ELU(Exponential Linear Unit)函数,与ReLU类似,但对于负数输入,返回一个小于0的指数函数。: ReLU(Rectified Linear Unit)函数,将输入映射到大于0的值,小于0的值被映射为0。: Log-Softmax函数,与Softmax函数相似,但返回归一化后的对数概率值。: LeakyReLU函数,与ReLU类似,但对于负数输入,返回一个小于0的斜率。: Sigmoid函数,也称为逻辑函数,将输入映射到0和1之间的连续值。)是可选的,默认为0.01。原创 2023-08-02 15:50:34 · 298 阅读 · 0 评论 -
Pytorch学习笔记 | 数据类型 | mnist数据集
python中数据类型和pytorch中的对应关系。注意:pytorch是没有没有string类型的。原创 2023-07-27 20:35:17 · 304 阅读 · 0 评论 -
Pytorch学习笔记 | 利用线性回归实现最简单的梯度下降 | 含代码和数据
梯度下降的基本思想是通过反复迭代来更新参数,使得每次迭代的目标函数值都朝着梯度的负方向下降,直到达到一个接近最小值的点。为了克服梯度下降的某些局限性,还有其他变种的优化算法,如随机梯度下降(SGD)、批量梯度下降(BGD)、小批量梯度下降(Mini-batch SGD)等,它们在实际应用中有不同的优势和特点。梯度下降是一种优化算法,用于最小化(或最大化)函数的值,特别是在机器学习和深度学习中,常用于优化模型的参数,使其能够更好地拟合训练数据。, xn是自变量(特征,用于预测y的值);原创 2023-07-25 22:23:06 · 246 阅读 · 0 评论 -
Pytorch学习笔记 | 深度学习框架简介 | 环境安装
动态图:一边定义一边计算,跟平常写面向过程代码的思路很像方便调试静态图:先创建图(或者公式)再给具体的输入,然后进行计算,跟平常写面向对象代码的思路很像调试比较麻烦。原创 2023-07-13 15:26:15 · 396 阅读 · 0 评论 -
深度学习实战四:全连接神经网络(基于Pytorch,含数据和详细注释)
反向传播:利用所得到的损失函数,计算每个参数的梯度值。通过前向传播计算损失值,再通过反向传播计算权重的梯度,并利用优化算法来更新权重值,可以使得神经网络不断地逐渐拟合训练集的分布,从而提高在测试集上的泛化性能。交叉熵是用来衡量softmax输出的结果的准确性的,也就是衡量两个概率分布之间的差别。softmax函数又称归一化指数函数,是二分类函数sigmoid在多分类上的推广,是将多分类的结果以概率的形式展示。要优化模型,就得计算出损失函数的梯度,计算梯度就要用到反向传播算法,本质上就是链式求导法则的应用。原创 2023-05-22 22:22:15 · 416 阅读 · 0 评论 -
深度学习实战三:逻辑回归(基于Pytorch,含数据和详细注释)
逻辑回归,表面上看是回归,实际上处理的是分类的问题跟线性回归的区别在于,对y作用一个逻辑函数,也就是sigmoid函数,将y转换为0-1之间的概率了主程序结果原创 2023-05-22 19:32:44 · 400 阅读 · 0 评论 -
深度学习实战二:多元线性回归(基于Pytorch,含数据和详细注释)
一元线性回归只能拟合一条直线,所以精度欠佳,所以可以用多元线性回归来拟合多元线性回归的本质也是线性回归,其采用的方法是增加每个属性的幂来增加维数。原创 2023-05-22 15:48:04 · 1189 阅读 · 0 评论 -
深度学习实战一:线性回归(基于Pytorch,含数据和详细注释)
线性回归是深度学习中最基础、最简单的模型。虽然简单,但是跟大多数监督学习算法的建模思路都是一样的。如果一个自变量和一个因变量,且二者关系可以用一条直线近似表示,则这种线性回归叫做:一元线性回归。线性回归的目标是找到一个与这些数据最吻合的线性函数,用来预测或分类。如果两个或两个以上自变量,且因变量和自变量之间是线性关系,则这种线性回归叫做:多元线性回归。回归的本来意思是,无论父母的身高多高或多矮,小孩的身高总是趋向于回到均值附近,也就是。线性回归是用来确定两种或两种以上变量间相互依赖关系的统计分析方法。原创 2023-05-16 10:52:03 · 630 阅读 · 0 评论 -
Python深度学习029:pytorch中常用的模块或方法
PyTorch是一个广泛使用的深度学习库,提供了许多用于构建和训练神经网络的模块和方法。原创 2023-12-22 16:34:43 · 1134 阅读 · 1 评论 -
Python深度学习028:神经网络模型太多,傻傻分不清?
每种模型都有其独特的结构和应用场景,选择合适的模型取决于具体的任务和数据特性。原创 2023-12-22 16:21:41 · 410 阅读 · 0 评论