关注公众号,发现CV技术之美
大家好,今天分享一个优秀的开源教程——超 20 万字的《PyTorch实用教程》(第二版),其第一版已经超 7.2K 颗星。
第二版:https://github.com/TingsongYu/PyTorch-Tutorial-2nd
第一版:https://github.com/TingsongYu/PyTorch_Tutoria
在教程中用了超 5 万字,详细介绍了计算机视觉(CV)中的八大应用场景,并且配套完整项目代码,完全开源。
![1a89837317dc0f6a1db379ef7ae557c8.gif](https://img-blog.csdnimg.cn/img_convert/1a89837317dc0f6a1db379ef7ae557c8.gif)
实战项目简介
图像分类
以胸部X光片二分类任务为案例, 完整的介绍图像分类任务的训练过程。其中, 涉及
图片读取与dataset的编写
数据增强策略消融实验:手动设置数据增强, AutoAug实验
基于torchvision的预训练模型使用与替换:调用resnet、 convnext模型
完整的训练日志分析
模型推理代码及推理速度、 吞吐量计算
![bac6f3e9e1f733c04c08f4cadcb9caf9.gif](https://img-blog.csdnimg.cn/img_convert/bac6f3e9e1f733c04c08f4cadcb9caf9.gif)
图像分割
以脑部MRI肿瘤数据为例, 介绍图像语义分割的训练、 推理过程。其中,涉及:
基于csv的数据集维护管理, 及其dataset编写;
smp库的介绍与使用:segmentation_models_pytorch库 是语义分割的高级API库, 提供9种分割架构、 数百个encoder的backbone及预训练权重, 以及分割的loss和衡量指标计算函数;
对smp中9中网络架构对比实验, 网络架构分别是:'Unet', 'UnetPlusPlus', 'MAnet', 'Linknet', 'FPN', 'PSPNet','DeepLabV3', 'DeepLabV3Plus', 'PAN';
探究不同backbone对于语义分割的效果差异;
探究不同loss对语义分割的效果差异;
. 探究encoder采用较小学习率时, 模型的精度变化。
![fcc89cc4344fad790b3e157e54ce40fc.gif](https://img-blog.csdnimg.cn/img_convert/fcc89cc4344fad790b3e157e54ce40fc.gif)
目标检测
以无人机场景目标检测为例,通过YOLOv5模型进行目标检测实战。其中,涉及:
VisDrone数据集介绍;
目标检测常见数据格式介绍:VoC, COCO, YOLO;
YOLOv1-YOLOv8 概述:了解YOLO发展历史, 各版本模型优缺点;
YOLOv5 源代码结构剖析及使用步骤:了解优秀的项目代码结构,设计;
YOLOv5在VisDrone数据集上的消融实验, 了解不同容量的YOLOv5能力。
![90bb27dd81fb51ee5e05cfcd0cd9936c.gif](https://img-blog.csdnimg.cn/img_convert/90bb27dd81fb51ee5e05cfcd0cd9936c.gif)
目标跟踪
近万字的目标跟踪项目介绍,以车流量计数场景,通过YOLOv5模型和DeepSORT算法,完成大桥的车流量计数。内容丰富详实,包括:
目标跟踪概念介绍;
DepSORT原理:通过详细的逐帧图解,介绍目标跟踪算法原理,包括匹配过程的匈牙利算法,更新输出过程的卡尔曼滤波;
DeepSORT代码剖析:对deepsort的实现步骤进行了详细分析,包括源代码的设计分析;
结合YOLOv5:实现车流量计数,并介绍撞线原理与代码实现。
![87d2e3d6ee8937998f33e7b6a57b9744.gif](https://img-blog.csdnimg.cn/img_convert/87d2e3d6ee8937998f33e7b6a57b9744.gif)
生成对抗网络
以CycleGAN为例介绍GAN的原理与代码实现,内容涉及:
GAN与CycleGAN简介:包括GAN的原理机制, CycleGAN模型结构、损失函数、训练注意事项;
CycleGAN代码实现:基于莫奈风格图像案例,介绍数据集准备、数据加载、模型构建、模型训练和推理测试。
![53909a2de4ba226b6a139160ca80fee5.gif](https://img-blog.csdnimg.cn/img_convert/53909a2de4ba226b6a139160ca80fee5.gif)
扩撒模型-DDPM
以DDPM(《Denoising Diffusion Probabilistic Models》)为基础,介绍扩散模型的原理与代码实现。内容包括:
Diffusion Model 概念介绍;
DDPM 模型原理与实战:基于cifar10进行原理介绍,项目代码训练和推理;
Guided Diffusion:引导条件的扩散模型介绍,包括classifier-base 和 classifier-free 两大主流模型;
Stable Diffusion:让技术出圈的模型;
Latent Diffusion Model(LDM):Stable Diffusion背后的核心技术。
![4d25276684fe5f493bbb0f6657afdd41.gif](https://img-blog.csdnimg.cn/img_convert/4d25276684fe5f493bbb0f6657afdd41.gif)
图像描述
图像描述是CV与NLP结合的一个典型任务,也是CV与NLP桥梁,教程中介绍图像描述模型的训练及使用,包括经典的CNN+RNN,以及现在流行的多模态模型,内容包括:
图像描述的概念,发展历史,常用数据集,BLUE评价指标
基于CNN+RNN+attention机制的图像描述模型训练
基于Clip+GPT2的图像描述模型训练
![30afffb355f9b5916b772c869826413c.gif](https://img-blog.csdnimg.cn/img_convert/30afffb355f9b5916b772c869826413c.gif)
图像检索
该案例基于CLIP+Faiss+Flask构建了以文搜图、以图搜图的在线图像检索系统,内容丰富,涉及理论基础和详细代码实践,知识点涵盖:
图像检索常用数据集介绍;
评价指标:R@K、mAP的计算;
向量检索框架简介:Faiss、Milvus、Jina、Proxima和vearch的优缺点
向量检索优化算法:LSH(局部敏感哈希)、HNSW(基于图的近似最近邻搜索)、PQ(乘积量化)、IVF(倒排检索)
检索中的排序概念:粗排、精排、重排的概念
Faiss 框架介绍及常用算法评估,并基于Faiss实现COCO 2017的11万数据的图像检索
CLIP实现image/text的特征提取
集成Faiss+CLIP构建无需训练的图像检索系统
基于Flask将图像检索系统部署为web服务
![ff6495d8f512810b0b5859c26b28e3e6.gif](https://img-blog.csdnimg.cn/img_convert/ff6495d8f512810b0b5859c26b28e3e6.gif)
全书亮点
结构清晰:全书分为三部分:上篇(入门)、中篇(应用)、下篇(落地),逐步引导读者深入学习。
理论与实践结合:不仅提供理论讲解,还通过丰富的项目案例,让读者能够将理论应用于实践。
实战案例丰富:提供了计算机视觉、自然语言处理和大语言模型等多个领域的实战案例。
系统性覆盖:涵盖Pytorch基础、计算机视觉基础任务、自然语言处理基础任务、大语言模型基础、推理部署框架。
适用性广:适合AI自学者、AI产品经理、在校学生以及跨领域人士阅读,满足不同背景和需求的读者。
![0ca1abdebf220a75557907f2778d41b2.png](https://img-blog.csdnimg.cn/img_convert/0ca1abdebf220a75557907f2778d41b2.png)
如何获取本书
在线阅读:https://tingsongyu.github.io/PyTorch-Tutorial-2nd
配套代码:https://github.com/TingsongYu/PyTorch-Tutorial-2nd
另外,PDF 提供了百度网盘,可以通过在公众号【我爱计算机视觉】后台回复关键词【PyTorch2】领取。
所有项目,从数据到代码,均已开源。知识的力量在于分享,技术的边界在于共同探索。
愿这 20 万字的教程助力每位开发者更上一层楼!
END
欢迎加入「PyTorch」交流群👇备注:TF