![](https://img-blog.csdnimg.cn/20190217154326289.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
机器学习和深度学习之旅
文章平均质量分 86
立志成为一名优秀算法工程师的程序猿的学习历程记录
马鹤宁
知到极处便是行,行到极处便是知
展开
-
python多线程编程(二)
这一篇主要是线程池的基础知识和应用原创 2024-02-05 14:19:30 · 870 阅读 · 0 评论 -
python 多线程编程(一)
这篇文章是我学习多线程编程时的笔记,从不同的网站和分享文章中拼接而来,与大家分享。原创 2024-02-04 20:19:32 · 682 阅读 · 0 评论 -
记录一下误删除libc.so.6的经历
一次误删libc.so.6的感悟原创 2024-01-11 14:17:15 · 878 阅读 · 0 评论 -
Pytorch错误:AssertionError: If capturable=False, state_steps should not be CUDA tensors
pytorch 1.12.0的bug原创 2023-10-09 14:42:09 · 953 阅读 · 0 评论 -
conda虚拟环境中安装的cuda和服务器上安装的cuda的异同
nvidia-smi官方提供的CUDA Toolkit是一个完整的工具安装包。Anaconda 在安装 Pytorch 等会使用到 CUDA 的框架时,会自动为用户安装 cudatoolkit,其主要包含应用程序在使用 CUDA 相关的功能时所依赖的动态链接库,不会安装驱动程序。只要系统上存在与当前的 cudatoolkit 所兼容的 Nvidia 驱动,则已经编译好的 CUDA 相关的程序就可以直接运行,而不需要安装完整的 Nvidia 官方提供的 CUDA Toolkit .原创 2023-06-28 16:43:47 · 2127 阅读 · 3 评论 -
TensorRT8.2 使用Python API进行推理
此篇文章是代码分享,TensorRT的基本知识点请见我的博文TensorRT介绍,里面讲述了TensorRT的工作原理和python API的介绍。原创 2023-05-29 18:02:28 · 709 阅读 · 3 评论 -
ChatGPT背后的技术:人类反馈强化学习RLHF
人类反馈强化学习RLHF是一种强化学习的技术,其中人类专家提供了额外的反馈,以帮助智能系统更快地学习。在传统地强化学习中,智能系统收到奖励或惩罚作为反馈,以根据行动地结果调整其策略。而在RLHF中,人类专家的反馈可以提供更具体的信息,例如哪些策略是良好的,哪些是不好的,以及如何改进。这有助于提高智能系统的学习速度和准确性,并且使其能够在复杂的环境下操作。原创 2023-05-01 19:17:48 · 2185 阅读 · 0 评论 -
CLIP 论文解读
CLIP算法的核心是利用自然语言包含的监督信号来训练视觉模型。相比于其他的训练方法,从自然语言中学习具有以下两个优势。首先,相比于标准的有标签图像分类数据集,这种方法无需标注,就很容易扩展数据集;其次,图像和文字配对训练,学习到的特征不单单是一个视觉特征,而是多模态的特征,有助于zero-shot的迁移学习。原创 2023-04-18 16:57:01 · 2275 阅读 · 0 评论 -
类ChatGPT产品Claude上线Slack平台,一手实测体验在此
Claude是Anthropic推出的类ChatGPT对话机器人。Anthropic是一家由前OpenAI团队成员创立的人工智能初创公司。Claude镶嵌在Slack中,它免费、支持中文、无需注册。简单上手,非常适合普罗大众,想要白嫖的小伙伴,抓紧体验。原创 2023-04-15 18:28:27 · 9966 阅读 · 1 评论 -
生成对抗网络GAN---生成mnist手写数字图像示例(附代码)
Ian J. Goodfellow等人于2014年在论文Generative Adversarial Nets中提出了一个通过对抗过程估计生成模型的新框架。框架中同时训练两个模型:一个生成模型(generativemodel)G,用来捕获数据分布;一个判别模型(discriminative model)D,用来估计样本来自于训练数据的概率。G的训练过程是将D错误的概率最大化。可以证明在任意函数G...原创 2018-08-06 23:48:05 · 24975 阅读 · 13 评论 -
one class classification
在科研生涯中,导师要求做一个区分器,奈何只能得到一个类别的数据集,百思不得其解,多方查找,了解one class classification,随在此对此类问题进行详细介绍。分类问题,例如二分类和多分类,由于多分类问题都可以解体成多个二分类问题,所以,一般来说,二分类问题被看做是基本的分类问题,在这里就拿二分类问题为例。在一个二分类问题中,元素被分成两个类, 和 ,被分别标记成+1和-1,或者...原创 2019-03-02 11:21:04 · 10153 阅读 · 4 评论 -
一个关于OCR/STR深度学习算法的综述
好长时间没有写博客了,草稿箱里未完成的文章成堆了,不论之前是什么原因,是时间清理一下了,拖延可不是个好习惯,好了,废话不多说了。原意是要做一个综述性的文章,鉴于笔者能力有限,不会包含所有的OCR/STR中所有的算法,但是一些常见的算法必不可少。光学字符识别(Optical Character Recognition, OCR)传统上指对输入扫描文档图像进行分析处理,识别出图像中文字信息。场景文...原创 2019-07-01 16:01:32 · 6086 阅读 · 1 评论 -
DenseNet
thesis:Densely Connected Convolutional Networksslides:http://www.gaohuang.net/papers/DenseNet-CVPR-Slides.pdfCNN的发展势头迅猛,从最初的LeNet5网络,到AlexNet、VGGNet、Inception和ResNet等等网络的出现,使得CNN不仅仅拓宽了宽度,而且也加深了深度...原创 2019-03-25 11:08:55 · 1938 阅读 · 0 评论 -
利用生成对抗网络保护通信(learning to Protect Communications with Adversarial Neural Cryptography)附代码
密码技术与我们息息相关,使用密码技术不仅仅能够保证信息的机密性,而且可以保证信息的完整性和可用性,防止信息被篡改、伪造和假冒。一直以来,设计和破解密码都是人类的专利,然而,随着人工智能的发展,Google Brain的研究成果《让神经对抗网络学习保护通信》(learning to Protect Communications with Adversarial Neural Cryptography), 试图让用0和1思考的机器学习对信息进行加密。原创 2018-08-15 18:37:27 · 5136 阅读 · 15 评论 -
场景文字检测(二)--EAST
论文:EAST:An Efficient and Accurate Scene Text DetectorEAST,高效且准确的场景文字检测算法,不仅仅pipelines简练,而且还能直接在图像中检测任意方向和四边形文本行和文字。集中精力在网络架构和损失函数的设计也是EAST过程简练的原因之一。如下图所示,是EAST算法与其他文本检测算法的比较,从图中清晰地看出,EAST算法在速度和准确率方面...原创 2019-04-05 11:41:19 · 1683 阅读 · 0 评论 -
卷积网络的稀疏与量化
存在多种方法能够降低CNN的复杂度,早先的方法有用可分的卷积代替不可分的卷积,这种方法提速4.5x,精度降低1%,这种方法的缺点是需要更改网络架构,将一层拆分成水平和垂直的过滤器;还有一种能够不更改网络架构也能稀疏卷积的算法,这种算法在训练过程中定义高的权重衰减,当权重的绝对值低于预先定义的阈值时,二值化为0。固定为0的参数,fine-tune非0的参数,以此来恢复因稀疏降低的准确率;将浮点精度的系数量化为Dynamic 8比特的顶点也是一种有效的方法。原创 2019-08-12 20:42:04 · 4183 阅读 · 1 评论 -
场景文字检测(一)--CTPN(Connectionist Text Proposal Network)
论文:Detecting Text in Nature Image with Connectionist Text Proposal Network在通用目标检测中,每一个物体都有一个定义良好的封闭边界,但是对于文字检测来说,这种明晰的封闭边界却是不可能的,因为一行文本和单词都是有若干个字符组成的。对于通用的目标检测,判断预测是否正确的标准相对比较宽松,例如检测到的边界框和真实边界框之间的Io...原创 2019-04-03 20:07:57 · 3216 阅读 · 0 评论 -
BOA:贝叶斯优化
贝叶斯优化算法高斯分布/正态分布高斯分布正态分布(Normal Distribution),又名高斯分布(Gaussian Distribution)。若随机变量X服从一个位置参数为μ\muμ,尺度参数为σ\sigmaσ的正态分布,记为X∼N(μ,σ)X\sim N\left( \mu, \sigma \right)X∼N(μ,σ)。其概率密度函数(PDF,Probability Densi...原创 2020-01-07 20:11:04 · 868 阅读 · 0 评论 -
卷积神经网络常见架构AlexNet、ZFNet、VGGNet、GoogleNet和ResNet模型
目前的常见的卷积网络结构有AlexNet、ZF Net、VGGNet、Inception、ResNet等等,接下来我们对这些架构一一详解。原创 2018-06-22 16:19:10 · 49806 阅读 · 12 评论 -
数据增广:Mixup, Cutout 和 CutMix
CutMix相比于Mixup是两个图片的叠加,而不是两张图片的混合。CutMix相比于Cutout,剪裁的区域填充的不是0像素值,而是另一张图片的部分区域原创 2022-11-07 22:29:42 · 1326 阅读 · 0 评论 -
Pytorch 转ONNX详解
模型部署面临两大问题,如何让开发者不受开发框架的限制和如何提升模型的运算效率。经过工业界和学术界数年的探索,一般流行的模型部署流水线是:首先开发者们在任意一种深度学习框架下定义网络结构,训练得到网络参数;然后,将模型的结构和参数转换成一种只描述网络结构的中间表示。针对网络结构的优化会在这步进行。ONNX就是一种模型中间表示。 最后,用面向硬件的高性能编程框架(如 CUDA,OpenCL)编写能高效执行深度学习网络中算子的推理引擎,推理引擎将中间表示转换成特定的文件格式。原创 2022-11-06 12:42:38 · 6916 阅读 · 6 评论 -
轻量级网络(一):MobileNet V1,V2, V3系列
在实际应用中,不仅要关注模型的精度,还需要关注模型的速度。在既要精度又要速度的考量中,轻量化网络应运而生。轻量级网络拥有不差于笨重模型的性能,但相比于笨重模型,有更少的参数和计算量,对硬件更友好。轻量级网络发展至今,已经涌现了SqueezeNet系列,MobileNet系列,ShuffleNet系列,EfficientNet等等系列。这篇文章仅仅阐述MobileNet从V1到V3的发展历程。...原创 2022-08-09 11:25:07 · 2160 阅读 · 0 评论 -
对比学习系列(三)-----SimCLR
SimCLR通过隐藏空间的对比损失最大化相同数据在不同增广下的一致性来学习表达。SimCLR框架有四个主要的组件,分别是:数据增广,encode网络,projection head网络和对比学习函数。原创 2022-08-09 10:59:19 · 3133 阅读 · 0 评论 -
Swin-Transformer
本篇博文详细讲解ViT和Swim-Transformer原创 2022-07-13 20:58:45 · 4845 阅读 · 0 评论 -
对比学习系列(一)---InfoDisc
Unsupervised Feature Learning via Non-Parametric Instance Discrimination文章目录Unsupervised Feature Learning via Non-Parametric Instance Discrimination方法NCEProximal RegularizationWeighted k-Nearest Neighborhood Classification在ImageNet数据集上,top-5分类错误率明显比top-原创 2022-03-24 22:41:26 · 573 阅读 · 0 评论 -
对比学习系列(五)---SimSiam
孪生网络已经成为无监督视觉表征学习的一种常见结构。孪生网络最大化一个图像的两个增广之间的相似性。论文提出了一个简单的孪生网络(SimSiam)在**不需要负样本对、大的批次和动量编码**的情况下学习表征。原创 2022-03-24 22:35:12 · 10622 阅读 · 4 评论 -
对比学习系列(四)---BYOL
MoCo,SimCLR等对比学习方法都依赖于负样本,BYOL**不需要负样本**也能在ImageNet上取得74.3%的top-1分类准确率。原创 2022-03-24 22:27:36 · 9594 阅读 · 0 评论 -
对比学习系列(二)---MoCo 系列
MoCo 系列文章目录MoCo 系列自监督MoCo V1前言动量对比Dictionary as a queueMomentum update代理任务Shuffling BN实验MoCo V2MoCo V3参考自监督监督学习在视觉领域应用广泛且成熟,但是也存在着一些挑战:监督学习需要大量带标签的数据,数据易得,但是给数据打标签工作枯燥且繁复,且成本高昂。我们希望能够省去人工标注的环节,使用无标签的数据集去预训练。自监督学习是一种不需要人工输入数据标签的监督学习。不同于监督学习,自监督学习在没有原创 2022-03-24 21:59:09 · 6992 阅读 · 0 评论 -
S2A-NET
S2A-NET文章目录S2A-NET基础知识引言网络架构FAMARNACL对齐卷积ODM实现损失函数推理消融实验参考基础知识长边135∘135^{\circ}135∘定义法,angle∈[−45∘,135∘)angle \in [ -45^{\circ}, 135^{\circ})angle∈[−45∘,135∘), theta∈[−π/4,3⋅π/4)theta \in [ -\pi / 4, 3 \cdot \pi / 4)theta∈[−π/4,3⋅π/4)且height> width。原创 2022-03-23 22:42:57 · 2157 阅读 · 2 评论 -
【图像检索】DOLG论文
图像检索任务通常从数据库中检索出和query图片相似的图片。检索任务通常使用全局特征向量通过相似性检索出候选图像,然后再利用他们的局部特征进行re-rank候选者。检索任务分为两个步骤,每个步骤分别利用全局特征和局部特征。DOLG模型通过利用图像中的全局和局部信息进行端到端的检索。首先利用多簇卷积层和自注意力提取局部特征;然后从局部特征中提取与全局表示正交的分量;最后将正交分量与全局表示合并聚合生成最终表示。原创 2021-12-10 19:51:26 · 5603 阅读 · 4 评论 -
Pytorch 加载图像数据(ImageFolder和Dataloader)
Pytorch加载图像数据集需要两步,首先需要使用**torchvision.datasets.ImageFolder()**读取图像,然后再使用**torch.utils.data.DataLoader()**加载数据集。原创 2021-12-06 19:56:55 · 11894 阅读 · 7 评论 -
ONNX 转tensorRT
ONNX 转tensorRT文章目录ONNX 转tensorRT固定尺寸转engine动态尺寸转engine参考固定尺寸转engine动态尺寸转engine参考tensorRT Developer Guide原创 2021-10-17 19:30:53 · 849 阅读 · 1 评论 -
知识蒸馏在目标检测中的应用
知识蒸馏在目标检测中的应用文章目录知识蒸馏在目标检测中的应用Knowledge DistillationSoft Target vs Hard TargetDistillationFaster RCNNLearning Efficient Object Detection Models with Knowledge DistillationOverall StructureKD for cls with Imbalanced ClassesKD for Regression with Teacher Bo原创 2021-10-17 19:23:41 · 1684 阅读 · 0 评论 -
Transformer理解
Transformer 是一种著名的深度学习模型,现已经被广泛应用于自然语言处理、计算机视觉和语音处理等等各个领域。Transformer最初是作为机器翻译的序列到序列模型提出的。后来的工作表明,基于Transformer的预训练模型可以在各种任务上实现最优性能。因此,Transformer已经成为NLP中的主流架构。最近,使用Transformer来完成视觉任务成为一个新的研究方向,ViT(Vision Transformer)使用Transformer进行图像分类,DERT使用Transformer进行原创 2021-10-17 16:26:02 · 1481 阅读 · 0 评论 -
t-SNE
t-SNE文章目录t-SNE原理SNE(Stochastic Neighbor Embedding)t-SNE对称SNE拥挤问题不匹配的尾部可以补偿不匹配的维度sklearn.manifold.TSNE参数返回对象的属性Methods附录Kullback-Leibler divergencest-distributionmanifold learning(流形学习)Swiss Roll参考t-SNE是一种可视化高维数据的工具。它将数据点之间的相似性转换为联合概率,并尝试最小化低维嵌入和高维数据的联合概率原创 2021-09-22 20:13:56 · 627 阅读 · 0 评论 -
Large-Scale Long-Tailed Recognition in an Open World
论文中开发出一种OLTR算法,该算法将图像映射到一个特征空间,使得视觉概念可以基于一个学习的度量很容易地相互关联,该度量尊重封闭世界分类,同时承认开放世界的新颖性。OLTR模型有两个主要模块:动态元嵌入(dynamic meta embedding)和调制注意(modulated attention)。前者在头尾类之间联系和传递知识,后者保持头尾类之间的区别。原创 2021-09-22 20:09:24 · 1639 阅读 · 0 评论 -
Towards Open World Object Detection
文章目录前言Open World Object DetectionOREContrastive ClusteringAuto-labelling Unknowns with RPNEnergy Based Unknown IdentifierAlleviating Forgetting实验和结果数据Evaluation metrics实现细节More Details on Contrastive ClusteringResultsvisualization附录韦伯分布此论文中提出了一个新的计算机视觉问题原创 2021-07-22 22:26:37 · 1486 阅读 · 2 评论 -
RetinaNet:Focal Loss for Dense Object Detection
RetinaNet:Focal Loss for Dense Object Detection文章目录RetinaNet:Focal Loss for Dense Object DetectionFocal LossFocal loss*DerivativesAnalysis of the Focal LossRetinaNet DetectorAnchorClassification SubnetBox Regression SubnetExperiments参考一阶段目标检测算法在训练时面临类别不平原创 2021-06-11 10:17:04 · 228 阅读 · 1 评论 -
文字检测算法--Differentiable Binarization
文字检测算法–Differentiable Binarization文章目录文字检测算法--Differentiable BinarizationDifferentiable Binarization架构SB vs DB标签生成Loss 函数推理阶段后处理实现细节参考Differentiable Binarization近年来,基于分割的方法在文本检测中备受欢迎。分割算法能够更加准确地描述不同形状的场景文本。对于基于分割方法的检测,将分割算法生成的概率图转换成二值化的处理过程是至关重要的。论文的主要原创 2021-05-30 17:19:24 · 1041 阅读 · 0 评论 -
OpenCV图像处理
Opencv提供两种变换函数,cv2.warpAffine()和cv2.warpPerspective()原创 2021-03-19 16:43:21 · 376 阅读 · 0 评论