- 博客(562)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 2021蓝桥杯Java复习【史上最详细攻略】【持续更新】
Java排序交叉排序import java.math.BigInteger;import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); Integer a[]; Integer n = cin
2020-10-04 18:02:08
27794
13
原创 AI之路:linux下编辑代码常用指令tmux与vim|shell常用快捷键
在使用过程中,如果要做比较耗时的操作,例如有时候进行编译,或者下载大文件需要比较长的时间,一般情况下是下班之后直接运行希望第二天早上过来运行完成,这样就不用耽误工作时间。tmux刚好可以解决我们描述的问题,当我们在tmux中工作的时候,即使关掉SecureCRT的连接窗口,再次连接,进入tmux的会话我们之前的工作仍然在继续。会话有点像是tmux的服务,在后端运行,我们可以通过tmux命令创建这种服务,并且可以通过tmux命令查看,附加到后端运行的会话中。在命令模式下输入,可使用鼠标控制vi。
2024-04-23 21:57:53
805
转载 论文写作中Introduction与Related work的区别
a) 背景介绍、现状(介绍别人的研究),存在的问题,怎样解决、我的做法、有何亮点b) 研究背景和重要性、引出该领域的科研空白、点题–指出本文的研究课题、概述文章的核心方法论和主要发现、提出猜想和研究目的。
2024-03-27 17:01:56
226
原创 Linux下新建用户
vi中,按i是输入模式,按esc退出编辑模式 输入:wq!在user privilege这一行,仿照root,另起一行,添加上。找到新建用户名,将sh改为bash。
2024-02-03 18:56:35
479
原创 学术科研常用工具
顶会(CVPR,ICCV,ECCV,Neurips,AAAI)顶刊(TPAMI,IJCV,TIP)arxiv学术速递 https://arxivdaily.com/top高校公开课:斯坦福,李宏毅课程,
2023-11-28 19:16:44
163
原创 在深度迁移学习中,什么是源域,什么是目标域?
域迁移的目标是通过迁移源域中学到的知识和特征,在目标域上实现更好的泛化性能。在目标域中,通常有较少的标记样本可供学习,因此模型需要通过迁移学习来利用源域中学到的知识和特征,以便在目标任务上获得良好的性能表现。通过从源域到目标域的知识迁移,模型可以更好地适应目标域的特征和数据分布,从而提高在目标任务上的效果。因此,我们需要通过迁移学习的方式,将从源域学到的知识和特征应用到目标域上,以提高在目标域上的性能表现。总之,源域是用于训练模型的数据集或数据分布,而目标域是我们希望将模型应用于的新数据集或数据分布。
2023-09-30 17:08:28
5546
1
原创 深度迁移学习(Deep Migration Learning)
深度迁移学习(Deep Transfer Learning)是一种在深度学习领域中应用的迁移学习方法,旨在通过利用从一个领域学习到的知识来改善在另一个相关但数据较少的领域上的学习任务。深度迁移学习常常使用预训练的深度神经网络模型,通过迁移已学习到的知识和特征来加快和优化在目标领域上的学习过程。深度迁移学习的优势在于它能够利用源领域丰富的数据和已学习到的知识来改善目标领域上的学习性能。**迁移知识:**在预训练完成后,可以利用已经学习到的模型参数和特征来进行迁移知识。
2023-09-30 16:28:07
1572
原创 PyTorch中加载模型权重 A匹配B|A不匹配B
state_dict是包含参数和持久缓冲区的字典,可以看出 strict默认为True,所以默认状态下是严格要求state_dict中的key与torch.nn.Module.state_dict返回的key完全一致的。如果 strict 为 True,则 state_dict 的键必须与该模块的 state_dict() 函数返回的键完全匹配。1.将权重导入原模型,之后在加载后的原模型基础上进行修改。missing_keys 是包含缺失键的 str 列表。很简单,直接.load_state_dict()
2023-08-05 17:58:49
508
转载 【pytorch】优雅的操作张量维度(rearrange)和便携式矩阵乘法(einsum)
einops是一个简洁优雅操作张量的库,并且支持对numpy,pytorch,tensorflow中的张量进行操作,该库最大的优点是函数的使用逻辑清晰明了,其中中常用的三个函数分别是rearrange,repeat,reduce。:用于对张量的维度进行重新变换排序,可用于替换pytorch中的reshape,view,transpose和permute等操作:用于对张量的某一个维度进行复制,可用于替换pytorch中的repeat。
2023-06-11 16:33:05
1303
原创 365天深度学习打卡 第P9周:YOLOv5的backbone实现
1.2 C3模块Bottleneck模块SPPF模块二、数据集和相关参数设置2.1 数据集操作2.2 相关参数设置2.3 定义Backbone网络三、训练及结果可视化3.1 训练及测试代码3.2 训练循环代码3.3 训练结果可视化
2023-05-26 13:23:08
689
原创 365天深度学习打卡 第N2周:中文文本分类-Pytorch实现
这里写自定义目录标题目标Before do anything :¶mount google drive by press mount button since my account has advanced protection¶导入数据构造数据集迭代器¶数据预处理¶生成数据批次和迭代器¶定义模型¶定义实例定义训练函数与评估函数¶拆分数据集并运行模型¶使用测试数据集评估模型¶ 🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊|接辅导、项目定制 目标中文文本的处理Befor
2023-05-19 15:12:49
463
转载 为什么当设置parameters.requires_grad=False :误差仍然反向传播,梯度不更新
用法:冻结参数,不参与反向传播,具体实现是将要冻结的参数的requires_grad属性置为false,然后在优化器初始化时将参数组进行筛选,只加入requires_grad为True的参数。首先要明白,误差回传与否,与 requires_grad 的值没有关系,取决于 loss.backward( )。而权重和偏置值的偏导值是多少并不影响误差反向传播,误差反向传播主干部分计算的是每一层激活前神经元的偏导值。我们要知道,param 包括的无非是 权重 和 偏置值。
2023-05-06 20:48:41
644
原创 365天深度学习打卡 第N3周:调用Gensim库训练Word2Vec模型
自然语言处理,简称 NLP,是人工智能的一个分支,它允许机器理解、处理和操纵人类语言。Gensim是在做自然语言处理时较为经常用到的一个工具库,主要用来以无监督的方式从原始的非结构化文本当中来学习到文本隐藏层的主题向量表达。拿到了分词后的文件,在一般的NLP处理中,会需要去停用词。因此对于word2vec,我们可以不用去停词,仅仅去掉一些标点符号,做一个简单的数据清洗。在实际应用中,可以调参提高词的embedding的效果。库,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。
2023-05-05 13:31:15
397
原创 PyTorch保存中间变量的导数值
为了节省显存,pytorch在反向传播的过程中只保留了计算图中的叶子结点的梯度值,而未保留中间节点的梯度,如下例所示:在利用autograd机制时,一般只会保存函数值对输入的导数值,而中间变量的导数值都没有保留。可以看到当进行反向传播后,只保留了x的梯度tensor(24.),而x1的梯度没有保留所以为None。
2023-05-03 23:25:39
207
转载 使用python打印当前时间
在跑模型的时候,我们有时需要计算模型运行时间,此时我们需要获取到模型开始运行的时间以及模型结束运行的时间,以二者的差值作为模型的总运行时间。在python语言中,我们可以使用以下两种常用的方式获取当前时间。
2023-05-02 03:09:17
8453
转载 如何理解深度学习中的端到端(End-to-end)概念
DeepMind神作Human-level control through deep reinforcement learning,其实也可以归为end-end,深度增强学习开山之作,值得学习:http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html。并且,神经网络可以很好地学习到特征的描述,之前需要人工设计的特征算子,本身也可以通过神经网络的方式,让模型自己习得,从而可以用于其他的任务以及更深的研究。
2023-05-01 03:11:15
1017
转载 深度学习中有关网络中的参数量(param)计算,附录有浮点计算量(FLOPs)的链接
1.网络中的参数量(param)对应与空间Space概念,及空间复杂度。2.浮点计算量(FLOPs)对应与时间Time概念,对应于时间复杂度。
2023-04-30 03:45:03
518
原创 计算机领域的pipeline是什么意思
管道(Pipeline)是一种常见的处理问题的方法。它是指将多个任务按顺序连接起来,使得前一个任务的输出作为下一个任务的输入,从而形成一个处理流程。
2023-04-30 03:25:06
303
转载 卷积与池化过程维度尺寸变化与一些名词整理
卷积池化之后,要得到最终预测结果,中间还需要进行全连接层。全连接层无法连接“带形状”的输入,所以我们还是需要将其打平(转化成一个一维的向量),将其变成“一列神经元”去处理。
2023-04-30 02:49:33
429
转载 Inception模块 GooLeNet网络
这篇文章打算简单总结一下网络,其网络结构如下图所示。我放上面这张图只是为了方便我们大致了解一下它的结构。我知道这样肯定不太能看清每一层具体细节,因为可以发现,GoogLeNet看起来有非常多且复杂的结构,要是清晰地放在这篇文章里恐怕会占很多篇幅,所以具体、清晰的GoogleNet图可以看。与、AlexNet等卷积神经网络相比,GoogLeNet绝对是我们见过的层数最多的网络了,它的网络层数有超过100层。
2023-04-30 02:46:56
254
转载 torch.nn.Embedding(num_embeddings, embedding_dim)的理解
embed输出的维度是[2, 3, 4],这就代表对于输入的[2,3]维的词,每一个词都被映射成了一个4维的向量。
2023-04-29 00:41:31
193
转载 使用torchtext 库进行文本分类
定义pipeline text_pipeline = lambda x : vocab(tokenizer(x)) label_pipeline = lambda x : int(x) - 1>> > # 可选 >> > text_pipeline('here is the an example') [ 475 , 21 , 2 , 30 , 5297 ] >> > label_pipeline('10') 9模型一共只有两层,第一层是embdding层,把输入的text,映射成emb_dim。
2023-04-29 00:12:37
282
原创 nlp中的管道是什么意思
它是指将多个文本处理任务按顺序连接起来,使得前一个任务的输出作为下一个任务的输入,从而形成一个处理流程。在这个流程中,原始文本首先会被进行分词,然后对每个词进行词性标注,接着进行命名实体识别,再进行句法分析,最后进行情感分析。每个任务的输出都可作为下一个任务的输入,创建了一个文本处理的流水线。在实际应用中,NLP 管道可以帮助我们解决各种文本处理问题,例如信息抽取、文本分类、问答系统等等。NLP 管道通常包括一系列不同的文本处理任务,例如分词、词性标注、命名实体识别、句法分析、情感分析等。
2023-04-28 23:54:45
343
1
原创 model.modules(),model.parameters(),model.state_dict()
即将每个层的权重和偏差等参数保存到一个 Python 字典中,字典的 key 为参数的名称,value 为该参数的值,可以将这个字典用于后面的优化器、断点续训或者模型的保存和加载。是一个PyTorch中的方法,它会返回一个包含模型所有可训练参数的迭代器,这些参数可以被用于优化器的更新或者保存与加载模型。具体来说,model.modules()返回的是一个生成器(generator),其中包括了整个模型的所有层级,包括父层级和子层级,但是不包括网络中的连接层和节点。
2023-04-28 23:29:38
447
原创 365天深度学习打卡第N1周:Pytorch文本分类入门
本节是一个使用PyTorch实现的简单文本分类实战案例。在这个例子中,我们将使用AG News数据集进行文本分类。Dataset)是一个广泛用于文本分类任务的数据集,尤其是在新闻领域。该数据集是由AG’s Corpus of NewsArticles收集整理而来,包含了四个主要的类别:世界、体育、商业和科技为了完成本节内容,需要安装好torchtext与portalocker库定义TextClassificationModel模型,首先对文本进行嵌入,然后对句子嵌入之后的结果进行均值聚合。
2023-04-28 03:08:58
1479
原创 卷积核权重共享、局部感知、多核、平移不变性、筛选器、可学习性
具体来说,卷积神经网络中的每个卷积层都包含了多个卷积核,每个卷积核都可以看做是一个滤波器,用于检测输入图像中的某种特定的特征。例如,在图像识别任务中,第一层卷积可能使用一些水平和垂直的边缘检测器,而后面的卷积层可能会使用更复杂的卷积核来检测纹理、局部结构等更高级的特征。综上所述,卷积运算具有局部感知性、参数共享、多核性、筛选器、不变性和可学习性等特征,这些特征使得卷积成为一种非常有用和高效的特征提取方式,应用广泛于计算机视觉、图像识别、自然语言处理等领域。
2023-04-27 23:32:32
482
原创 如何使用全局平均池化(Global Average Pooling)
Golbal Average Pooling 第一次出现在论文Network in Network中,后来又很多工作延续使用了GAP,实验证明:Global Average Pooling确实可以提高CNN效果。
2023-04-24 02:37:04
1039
转载 解决RuntimeError: one of the variables needed for gradient computation has been modified by an inp
1)找到网络模型中的 inplace 操作,将inplace=True改成 inplace=False,例如torch.nn.ReLU(inplace=False)2)将代码中的“a+=b”之类的操作改为“c = a + b”,a=b改成a=ab,a/=b改成a=a/b。3)训练代码的optimizer.step()函数放到loss.backward()后面。4)pytorch降版本到1.4或1.5。需要更新的参数被原地操作更改了。可能是以下几种情况导致。
2023-04-23 17:50:45
635
转载 轻量级网络Ghostnet(GhostConv(幻影卷积)、Ghost BottleNeck)详解
该论文提供了一个全新的Ghost模块,旨在通过廉价操作生成更多的特征图。基于一组原始的特征图,作者应用一系列线性变换,以很小的代价生成许多能从原始特征发掘所需信息的“Ghost”特征图(Ghost feature maps)。该Ghost模块即插即用,通过堆叠Ghost模块得出Ghost bottleneck,进而搭建轻量级神经网络——GhostNet。
2023-04-22 15:43:56
19335
2
原创 什么是分组卷积、深度可分离卷积?附上深度可分离卷积代码
分组卷积,g = in = out,此时每个卷积核只负责一个通道,生成的特征图之间不存在信息交换(即在通道维度不存在信息交换)1 x 1卷积,用来实现通道件的信息交换,但在空间层面上缺少信息交流。可以使用 torch.nn.Conv2d() 中的卷积组参数groups,来实现深度可分离卷积。groups 参数是用于控制输入和输出的连接的,表示要分的组数(in_channels 和out_channels 都必须能被 groups 参数整除)。
2023-04-22 15:25:19
2464
原创 什么是计算量flops,什么是参数量params?
计算量对应我们之前的时间复杂度,参数量对应于我们之前的空间复杂度,这么说就很明显了也就是计算量要看网络执行时间的长短,参数量要看占用显存的量其中最重要的衡量CNN 模型所需的计算力就是flops:FLOPS: 注意全大写,是floating point operations persecond的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。FLOPs: 注意s小写,是floatingpoint operations的缩写(s表复数),意指浮点运算数,理解为计算量。
2023-04-22 05:47:30
559
原创 Event Camera (事件相机)
事件相机是一种受生物启发的传感器,与传统相机的工作原理有很大的差别。它通过异步事件的方式获取图像,通常使用每个像素的亮度变化来输出异步事件信号,包括位置、光强和时间戳等信息,而与每秒钟采集的帧数没有关系。事件相机具有很多优点,例如快速响应、高动态范围、低功耗、低时延和高精度等,因此在许多应用领域中得到了广泛的应用。其中一个典型应用是自动驾驶领域,事件相机可以实现车辆环境的实时监测和决策,如识别道路标记、障碍物检测、行人跟踪等。
2023-04-21 01:42:18
1117
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人