![](https://img-blog.csdnimg.cn/1bea777b20bf4a9985d28c7ef44a26d9.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Pytorch深度学习理论与实战
文章平均质量分 90
本专栏介绍深度学习的基础知识以及项目实战。专栏依次介绍pytorch基础理论,每章理论介绍完之后还会有实战案例。专栏后续会新增图像分类、目标识别、目标检测、语义分割、视频理解等实战项目
城南皮卡丘
擅长Java全栈、Python开发、深度学习与神经网络等,研究方向为CV、NLP
展开
-
Qwen-14B-Chat-Int4推理报错:ImportError: libcudart.so.12: cannot open shared object file
按照提示,pip安装这两个包,结果报错: ImportError: libcudart.so.12: cannot open shared object file: No such file or directory。发现是由于安装的 auto-gptq版本与conda安装的CUDA版本冲突所导致。在 Qwen-14B-Chat-Int4推理时,发现报错,缺少 optimum 和 auto-gptq 两个pip包。安装了跟我conda环境与cuda版本相匹配的 AutoGPTQ,问题解决。原创 2023-11-09 11:53:06 · 1098 阅读 · 0 评论 -
YOLO8实战:yolov8实现行人跟踪计数
行人跟踪统计是智能监控系统中的重要功能,可以广泛应用于人流控制、安全监控等领域。传统的行人跟踪算法往往受到光照、遮挡等因素的干扰,难以实现准确跟踪。随着深度学习技术的发展,目标检测模型逐渐成为行人跟踪的主流方案。本文介绍使用YOLOv8目标检测模型实现行人跟踪统计的方法。原创 2023-10-31 23:06:25 · 5725 阅读 · 0 评论 -
Transformers架构系列---transformers库的使用
Transformers最初是由Google发布的论文 Attention is All You Need (2017) 提出的一种新的深度学习网络架构,这篇论文证明了序列模型(如 LSTM)可以完全被注意力机制取代,甚至可以获得更好的性能。Transformers网络结构自2017年提出之后仅仅一两年的时间内就一直在NLP领域及其子任务霸榜,目前的LLM大语言模型(ChatGPT、ChatGLM等)都是基于Transformers网络架构。Transformers不仅在NLP领域表现出色,自2020年开始原创 2023-08-17 12:02:07 · 1226 阅读 · 0 评论 -
深度学习快速入门系列---损失函数
在深度学习中,损失函数的作用是量化预测值和真实值之间的差异,使得网络模型可以朝着真实值的方向预测,损失函数通过衡量模型预测结果与真实标签之间的差异,反映模型的性能。同时损失函数作为一个可优化的目标函数,通过最小化损失函数来优化模型参数。在本篇文章中,我们介绍一下,深度学习中最常用的几种损失函数原创 2023-08-13 21:43:08 · 983 阅读 · 0 评论 -
CUDA Setup failed despite GPU being available.
CUDA Setup failed despite GPU being available. Please run the following command to get more information:python -m bitsandbytesInspect the output of the command and see if you can locate CUDA libraries. You might need to add themto your LD_LIBRARY_PATH.原创 2023-08-07 16:17:26 · 3692 阅读 · 0 评论 -
神经网络解决预测问题(以共享单车预测为例)
大约从2015年起,共享单车席卷了大部分城市。共享单车在给人们带来便利的同时,也存在一些问题:单车的分布很不均匀。比如在早高峰的时候,一些地铁口往往聚集着大量的单车,而到了晚高峰却很难找到一辆单车了。那么如何解决共享单车分布不均匀的问题呢?目前,共享单车公司会雇一些工人来搬运单车,把它们运送到需要单车的区域。但工人应该运多少单车?什么时候运?运到什么地方呢?这就需要准确地知道共享单车在整个城市不同地点的数量分布情况。下面造一个共享单车预测器,用来预测某一时间、某一停放区域的单车数量。供共享单车公司参考原创 2023-07-07 18:23:31 · 1141 阅读 · 0 评论 -
论文阅读 HighlightMe: Detecting Highlights from Human-Centric Videos
我们提出了一种与领域和用户偏好无关的方法来检测以人为中心的视频中的精彩片段摘录。我们的方法适用于视频中多种可观察到的以人为中心的模态的基于图形的表示,例如姿势和面部。我们使用配备时空图卷积的自动编码器网络来检测基于这些模式的人类活动和交互。我们根据帧的代表性训练网络,将不同模态的基于活动和交互的潜在结构表示映射到每帧的突出得分。原创 2023-07-12 18:56:27 · 1190 阅读 · 0 评论 -
论文阅读:GLOBAL PROTOTYPE ENCODING FOR INCREMENTALVIDEO HIGHLIGHTS DETECTION
视频亮点检测 (VHD) 是计算机视觉中的一个活跃研究领域,旨在在给定原始视频输入的情况下定位最吸引用户的片段。然而,大多数 VHD 方法都是基于封闭世界假设,即预先定义固定数量的高亮类别,并且所有训练数据都是预先可用的。因此,现有方法在增加高亮域和训练数据方面的可扩展性较差。为了解决上述问题,我们提出了一种名为全局原型编码 (GPE) 的新型视频亮点检测方法,通过参数化原型逐步学习以适应新领域。原创 2023-05-24 17:44:28 · 747 阅读 · 0 评论 -
论文阅读:Query-Dependent Video Representation for Moment Retrieval and Highlight Detection
近年来,随着视频理解需求的急剧增加,视频时刻检索和高亮检测(MR/HD)成为人们关注的焦点。MR/HD的主要目标是对给定的文本进行视频时刻定位和内容一致性估计,即显著性得分。尽管最近基于transformer的模型带来了一些进步,但我们发现这些方法并不能完全利用给定查询的信息。例如,在预测时刻及其显著性时,有时会忽略文本查询与视频内容之间的相关性。为了解决这个问题,我们引入了基于查询的DETR (QD-DETR),这是一种为MR/HD量身定制的检测transfomer。原创 2023-04-29 21:53:00 · 433 阅读 · 1 评论 -
Pytorch快速入门系列---(十九)Pytorch实现R-CNN系列目标检测网络
在PyTorch提供的已经训练好的图像目标检测中,均是R-CNN系列的网络,并且针对目标检测和人体关键点检测分别提供了容易调用的方法。原创 2023-04-14 13:40:35 · 2577 阅读 · 0 评论 -
Pytorch快速入门系列---(十八)Pytorch实现FCN图像语义分割网络
针对图像的语义分割网络,本节将介绍PyTorch中已经预训练好网络的使用方式,然后使用VOC2012数据集训练一个FCN语义分割网络。原创 2023-04-13 12:04:08 · 1329 阅读 · 0 评论 -
Pytorch快速入门系列---(十七)图像语义分割与目标检测概述
在计算机视觉领域,不仅有图像分类的任务,还有很多更复杂的任务,如对图像中的目标进行检测和识别,对图像进行实例分割和语义分割等。其中在基于卷积神经网络的深度学习算法出现后,图像的语义分割和目标检测的精度也有了质的提升。原创 2023-04-12 16:26:13 · 696 阅读 · 0 评论 -
论文笔记:Fully Convolutional Networks for Semantic Segmentation
卷积网络是产生特征层次结构的强大视觉模型。我们展示了卷积网络本身,经过端到端、像素到像素的训练,超过了语义分割的最新技术水平。我们的主要见解是构建“全卷积”网络,该网络接受任意大小的输入并通过有效的推理和学习产生相应大小的输出。我们定义并详细说明了全卷积网络的空间,解释了它们在空间密集预测任务中的应用,并绘制了与先前模型的联系。我们将当代分类网络(AlexNet 、VGG 网络和 GoogLeNet)调整为完全卷积网络,并通过微调将它们学习到的表征转移到分割任务中。原创 2023-04-15 20:22:18 · 463 阅读 · 1 评论 -
论文笔记 U-Net: Convolutional Networks for Biomedical Image Segmentation
摘要:人们普遍认为,深度网络的成功训练需要数千个带注释的训练样本。在本文中,我们提出了一种网络和训练策略,该策略依赖于大量使用数据增强来更有效地使用可用的注释样本。该体系结构包括用于捕获上下文的收缩路径和用于实现精确定位的对称扩展路径。我们表明,这样的网络可以从很少的图像进行端到端训练,并且在 ISBI 挑战中优于先前的最佳方法(滑动窗口卷积网络),用于分割电子显微堆栈中的神经元结构。使用在透射光显微镜图像(相差和 DIC)上训练的相同网络,我们在这些类别中以大幅优势赢得了 2015 年 ISBI 细胞跟踪原创 2023-04-10 14:57:07 · 279 阅读 · 1 评论 -
Pytorch快速入门系列---(十六)Pytorch实现图像风格迁移(二)
本节介绍使用PyTorch对固定风格任意内容的快速风格迁移进行建模。该模型根据下图所示的网络及训练过程进行建模,但略有改动,主要对图像转换网络的上采样操作进行相应的调整。在下面建立的网络中,将会使用转置卷积操作进行特征映射的上采样。原创 2023-04-05 00:48:14 · 832 阅读 · 0 评论 -
Pytorch快速入门系列---(十五)Pytorch实现图像风格迁移(一)
图像风格迁移是图像纹理迁移研究的进一步拓展,可以理解为针对一张风格图像和一张内容图像,通过将风格图像的风格添加到内容图像上,从而对内容图像进行进一步创作,获得具有不同风格的目标图像。基于深度学习网络的图像风格迁移主要有三种类型,分别为固定风格固定内容的风格迁移、固定风格任意内容的快速风格迁移和任意风格任意内容的极速风格迁移。原创 2023-04-03 22:35:26 · 2156 阅读 · 3 评论 -
Pytorch快速入门系列---(十四)搭建卷积自编码对图像去噪
本篇文章介绍基于卷积层的自编码去噪网络。利用卷积层进行图像的编码和解码,是因为卷积操作在提取图像的信息上有较好的效果,而且可以对图像中隐藏的空间信息等内容进行较好的提取。该网络可用于图像去噪、分割等。原创 2023-04-01 11:51:23 · 1596 阅读 · 1 评论 -
Pytorch快速入门系列---(十三)pytroch搭建自编码模型对MNIST数据进行降维和重构
自编码网络模型,也称自动编码器(AutoEncoder),是一种基于无监督学习的数据维度压缩和特征表示方法,目的是对一组数据学习出一种表示。1986年Rumelhart提出自编码模型用于高维复杂数据的降维。由于自动编码器通常应用于无监督学习,所以不需要对训练样本进行标记。自动编码器在图像重构、聚类、降维、自然语言翻译等方面应用广泛原创 2023-03-30 22:50:19 · 663 阅读 · 0 评论 -
Pytorch快速入门系列---(十二)pytorch实现RNN网络对MNIST字体分类
循环神经网络RNN非常擅长处理序列数据,但它也可以用来处理图像数据,这是因为一张图像可以看作一组由很长的像素点组成的序列。下面将会使用RNN对MNIST数据集建立分类器。原创 2023-03-27 23:43:59 · 266 阅读 · 0 评论 -
Pytorch快速入门系列---(十一)循环神经网络理论
循环神经网络(Recurrent Neural Network,RNN)与卷积神经网络一样,都是深度学习中的重要部分。循环神经网络可以看作一类具有短期记忆能力的神经网络。在循环神经网络中,神经元不但可以接收其他神经元的信息,也可以接收自身的信息,形成具有环路的网络结构,正因为能够接收自身神经元信息的特点,让循环神经网络具有更强的记忆能力。卷积神经网络和全连接网络的数据表示能力已经非常强了,为什么还需要RNN呢?这是因为现实世界中面临的问题更加复杂,而且很多数据的输入顺序对结果有重要影响。原创 2023-03-27 19:14:20 · 1095 阅读 · 0 评论 -
论文解读:Less is More: Learning Highlight Detection from Video Duration
视频过载问题正在加剧。随着便携式计算设备(如智能手机、可穿戴设备等)的日益普及,以及社交媒体平台(如Facebook、Instagram、Y ouTube)的推广,互联网用户可以无缝录制和分享大量视频。根据思科的数据,到2021年,视频流量将占所有消费者互联网流量的82%,每秒钟将有100万分钟的视频内容通过网络。然而,索引、组织甚至浏览如此庞大的视频数据仍然非常具有挑战性。视频高亮检测作为一种缓解过载的方法,越来越受到研究界的关注。原创 2023-03-26 14:15:37 · 498 阅读 · 0 评论 -
Pytorch快速入门系列---(十)使用预训练好的网络进行推理预测
本小节将会介绍如何利用已经预训练好的卷积神经网络模型对一张图像进行预测,并且通过可视化的方法,查看模型是如何得到其预测结果的。原创 2023-03-23 14:01:20 · 2806 阅读 · 1 评论 -
Pytorch快速入门系列---(九)Pytorch对预训练好的VGG16模型进行微调
对于一个复杂的卷积神经网络来说,通常网络的层数非常大,网络的深度非常深、网络的参数非常多,单单设计一个卷积网络就需要颇费心思,何况网络还需要大量的数据集进行漫长时间的训练,若没有一个好的算力平台也很难迅速训练出模型。可见,从头到尾搭建一个中等规模的卷积神经网络对于我们来说绝非易事。幸运的是PyTorch已经许多预训练好的模型,比如内置了使用ImageNet数据集预训练好的、流行的VGG、AlexNet等深度学习网络,我们可以针对自己的需求,对预训练好的网络进行微调,从而快速完成自己的任务。原创 2023-03-21 19:37:25 · 2782 阅读 · 1 评论 -
Pytorch快速入门系列---(八)卷积神经网络与Pytorch实践(二)
中,我们介绍了卷积神经网络的基本理论,并使用PyTorch搭建一个类似LeNet-5的网络结构,用于Fashion-MNIST数据集的图像分类。不过上一篇文章中搭建卷积网络使用的是普通卷积,本篇文章我们继续用PyTorch搭建一个类似LeNet-5的网络结构,不过我们这次使用空洞卷积核,搭建的是一个空洞卷积神经网络。原创 2023-03-21 12:52:33 · 187 阅读 · 0 评论 -
Pytorch快速入门系列---(七)卷积神经网络与Pytorch实践(一)
卷积神经网络是一种以图像识别为中心,并且在多个领域得到广泛应用的深度学习方法,如目标检测、图像分割、文本分类等。原创 2023-03-20 17:02:47 · 883 阅读 · 3 评论 -
Pytorch快速入门系列---(五)基于Pytorch的可视化工具
通过文本输出myConvNet网络的网络结构得到上面的输出结果,但这并不容易让读者理解在网络中层与层之间的连接方式,所以需要将PyTorch搭建的深度学习网络进行可视化,通过图像来帮助读者理解网络层与层之间的连接方式。而网络训练过程的可视化,通常用于监督网络的训练过程或呈现网络的训练效果。当使用PyTorch建立一个深度学习网络并输出文本向读者展示网络的连接方式是非常低效的,所以需要有效的工具将建立的深度学习网络结构有层次化的展示,这就需要使用相关的深度学习网络结构可视化库。3.5 Visdom可视化。原创 2023-03-15 19:49:31 · 1531 阅读 · 1 评论 -
pytorch快速入门系列---(四)pytorch实现深度神经网络与训练
在pytorch中提供了多种搭建网络的方法,下面以一个简单的全连接神经网络回归为例,介绍定义网络的过程,将会使用到Module和Sequential两种不同的网络定义方式。import torch.utils.data as Data #用于对数据的预处理from sklearn.datasets import load_boston#用于导入数据from sklearn.preprocessing import StandardScaler#用于对数据进行标准化。原创 2023-03-12 16:11:12 · 1970 阅读 · 1 评论 -
Pytorch快速入门系列---(三)pytorch中的数据操作和预处理
pytorch中torch.utils.data模块包含着一些常用的数据预处理的操作,主要用于数据的读取、切分、准备等。使用这些类能够对高维数组、图像等各种类型的数据进行预处理,以便深度学习模型的使用,针对文本数据的处理可以使用torchtext库进行相关的数据准备操作。原创 2023-03-11 00:37:10 · 1017 阅读 · 0 评论 -
Pytorch快速入门系列---(六)Pytorch实现全连接神经网络
全连接神经网络(Multi-Layer Perception,MLP)或者叫多层感知机,是一种连接方式较为简单的人工神经网络结构,属于前馈神经网络的一种,主要由输入层、隐藏层和输出层构成,并且在每个隐藏层中可以有多个神经元。MLP网络是可以应用于几乎所有任务的多功能学习方法,包括分类、回归,甚至是无监督学习。神经网络的学习能力主要来源于网络结构,而且根据层的数量不同、每层神经元数量的多少,以及信息在层之间的传播方式,可以组合成多种神经网络模型。全连接神经网络主要由输入层、隐藏层和输出层构成。原创 2023-03-17 00:00:05 · 4003 阅读 · 0 评论 -
Tensorboard可视化利用pytorch训练好的网络,Tensorboard可视化网页可以打开但是出现:No dashboards are active for the current data
Tensorboard可视化利用pytorch训练好的网络,Tensorboard可视化网页可以打开但是出现:No dashboards are active for the current data原创 2023-03-15 16:07:44 · 133 阅读 · 0 评论 -
Pytorch快速入门系列---(二)动态计算图、自动微分、torch.nn模块
由于卷积核尺寸远远小于输入尺寸,即减少需要学习的参数的数量,并且针对每个卷积层可以使用多个卷积核获取输入的特征映射,对数据具有很强的特征提取和表示能力,并且在卷积运算之后,使得卷积神经网络结构对输入的图像具有平移不变的性质。两种池化的区别如下图所示。由上面的函数图像可以看出,该函数的输出区间是(-1,1),整个函数是以0为中心,虽然Tanh函数曲线和Sigmoid函数的曲线形状比较相近,在输入很大或者很小时,梯度很小,不利于权重更新,但由于Tanh的取值输出以0对称,使用效果会比Sigmoid好很多。原创 2023-03-09 23:58:34 · 915 阅读 · 0 评论 -
Pytorch快速入门系列---(一)张量及运算
在上面的例子中,我们演示了如何调用pytorch中的函数查看、修改默认数据类型,但是这种修改是全局的,如何我们想要把一个张量a(32位浮点型)转换为16位有符号整型但是又不影响其他张量的数据类型怎么办呢?我们接着看下面一个例子。torch.sort()函数:对一维张量进行排序,或者对高维张量在指定的维度进行排序,在输出排序结果的同时,还会输出对应的值在原始位置的索引。张量计算主要包括张量之间的大小比较、张量的基本运算(元素之间的运算和矩阵之间的运算)、张量与统计相关的运算(排序、最大值、最小值)原创 2023-03-06 17:54:39 · 3213 阅读 · 0 评论 -
Pytorch入门基础知识(一)
pytorch入门基础知识点原创 2022-10-26 17:43:44 · 2563 阅读 · 0 评论