深度学习实战篇(2021版)
文章平均质量分 63
实战项目列表,包含全代码
布尔大学士
工学博士在读,主要从事智能制造、工业精密检测、智能化设备研发等方向研究,已发表二区Top文章一篇、国家级竞赛二等奖一项、已授权软件著作权两项、已发表中文期刊两篇,先后参与国家自然科学基金面上项目、省重点研发计划等课题。
展开
-
Inception(Pytorch实现)
论文在此: Going deeper with convolutions论文下载:https://arxiv.org/pdf/1409.4842.pdf网络结构图:import torchimport torch.nn as nnimport torch.nn.functional as Fclass Inception3(nn.Module): def __init__(self, num_classes=1000, aux_logits=True...原创 2021-11-07 16:35:53 · 9400 阅读 · 0 评论 -
【Pytorch神经网络实战案例】01 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法①
import torchimport torchvisionfrom torch import nnfrom torch.utils.tensorboard import SummaryWriterfrom torch.utils.data import DataLoader# 取消全局证书验证(当项目对安全性问题不太重视时,推荐使用,可以全局取消证书的验证,简易方便)import sslssl._create_default_https_context = ssl._create...原创 2021-10-29 09:14:42 · 7322 阅读 · 0 评论 -
【Pytorch神经网络实战案例】02 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法②
import torchimport torchvisionfrom torch import nnfrom torch.utils.tensorboard import SummaryWriterfrom torch.utils.data import DataLoader# 取消全局证书验证(当项目对安全性问题不太重视时,推荐使用,可以全局取消证书的验证,简易方便)import sslssl._create_default_https_context = ssl._create_...原创 2021-10-29 09:14:23 · 6676 阅读 · 0 评论 -
【Pytorch神经网络实战案例】03 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-测试方法
import torchimport torchvisionfrom PIL import Imagefrom torch import nnimage_path="./test_img/dog.png"image=Image.open(image_path)print(image) #size=406x479 所以需要转换# png格式是四个通道,除了RGB三通道外,还有一个透明度通道。# 所以,我们调用image=image.convert(RGB)保留其颜色通道。# 当然,如.原创 2021-10-29 09:14:00 · 6704 阅读 · 0 评论 -
【Pytorch神经网络实战案例】04 使用Pytorch实现线性回归
import torchx_data =torch.tensor([[1.0],[2.0],[3.0]])y_data=torch.tensor([[2.0],[4.0],[6.0]])#重点在于构造计算图 pytorch会自动计算梯度#Z=wx+b 就是一个线性单元class LinearModel(torch.nn.Module): #Module的对象会自动实现backword()的过程 #构造函数 def __init__(self) : s.原创 2021-11-02 09:29:53 · 1947 阅读 · 0 评论 -
【Pytorch神经网络实战案例】05 使用Pytorch完成Logistic分类
import torchx_data = torch.tensor([[1.0], [2.0], [3.0]])y_data = torch.tensor([[2.0], [4.0], [6.0]])class LogisticRegressionModel(torch.nn.Module): def __init__(self): super(LogisticRegressionModel, self).__init__() self.linear=to.原创 2021-11-02 09:32:12 · 6937 阅读 · 0 评论 -
【Pytorch神经网络实战案例】06 逻辑回归拟合二维数据
1 逻辑回归与拟合过程1.1 准备数据-code_01_moons.py(第1部分)import sklearn.datasetsimport torchimport numpy as npimport matplotlib.pyplot as pltnp.random.seed(0)X,Y = sklearn.datasets.make_moons(200,noise=0.2)arg = np.squeeze(np.argwhere(Y==0),axis=1)arg2 = np原创 2022-02-08 17:41:02 · 10702 阅读 · 2 评论 -
【Pytorch神经网络实战案例】07 预测泰坦尼克号上生存的乘客
1 样本处理1.1 载入样本代码---Titanic forecast.py(第1部分)import numpy as npimport torchimport torch.nn as nnimport torch.nn.functional as Ffrom scipy import statsimport pandas as pdimport matplotlib.pyplot as pltimport osos.environ["KMP_DUPLICATE_LIB_OK"]=原创 2022-03-09 15:20:43 · 12536 阅读 · 2 评论 -
【Pytorch神经网络实战案例】08 识别黑白图中的服装图案(Fashion-MNIST)
1 Fashion-MNIST简介FashionMNIST 是一个替代 MNIST 手写数字集 的图像数据集。 它是由 Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自 10 种类别的共 7 万个不同商品的正面图片。FashionMNIST 的大小、格式和训练集/测试集划分与原始的 MNIST 完全一致。60000/10000 的训练测试数据划分,28x28 的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,且不需要改动任何的代码。说白了就是手写数字没有衣服鞋子之原创 2022-03-09 16:04:31 · 10065 阅读 · 0 评论 -
【Pytorch神经网络实战案例】09 使用卷积提取图片的轮廓信息(手动模拟Sobel算子)
1 载入图片并显示import matplotlib.pyplot as pltimport matplotlib.image as mpimgimport torchimport torchvision.transforms as transformsimport osos.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"### 1 载入图片并显示myimg = mpimg.imread('img.jpg')plt.imshow(myimg)plt.ax原创 2022-03-12 16:00:45 · 8657 阅读 · 0 评论 -
【Pytorch神经网络实战案例】10 搭建深度卷积神经网络
识别黑白图中的服装图案(Fashion-MNIST)https://blog.csdn.net/qq_39237205/article/details/123379997基于上述代码修改模型的组成1 修改myConNet模型1.1.1 修改阐述将模型中的两个全连接层,变为全局平均池化层。1.1.2 修改结果### 1.5 定义模型类class myConNet(torch.nn.Module): def __init__(self): super(myCo原创 2022-03-12 20:07:35 · 8975 阅读 · 0 评论 -
【Pytorch神经网络实战案例】11 循环神经网络结构训练语言模型并进行简单预测
1 语言模型步骤1.1 根据需求拆分任务1.2 根据任务设计功能模块1.3 根据功能模块设计实现方案1.42 语言模型的代码实现原创 2022-03-20 17:16:35 · 9876 阅读 · 1 评论 -
【Pytorch神经网络实战案例】12 利用注意力机制的神经网络实现对FashionMNIST数据集图片的分类
1、掩码模式:是相对于变长的循环序列而言的,如果输入的样本序列长度不同,那么会先对其进行对齐处理(对短序列补0,对长序列截断),再输入模型。这样,模型中的部分样本中就会有大量的零值。为了提升运算性能,需要以掩码的方式将不需要的零值去掉,并保留非零值进行计算,这就是掩码的作用2、均值模式:正常模式对每个维度的所有序列计算注意力分数,而均值模式对每个维度注意力分数计算平均值。均值模式会平滑处理同一序列不同维度之间的差异,认为所有维度都是平等的,将注意力用在序列之间。这种方式更能体现出序列的重要性。代.原创 2022-03-21 16:51:26 · 9762 阅读 · 1 评论 -
【Pytorch神经网络实战案例】13 构建变分自编码神经网络模型生成Fashon-MNST模拟数据
1 变分自编码神经网络生成模拟数据案例说明变分自编码里面真正的公式只有一个KL散度。1.1 变分自编码神经网络模型介绍主要由以下三个部分构成:1.1.1 编码器由两层全连接神经网络组成,第一层有784个维度的输入和256个维度的输出;第二层并列连接了两个全连接神经网络,每个网络都有两个维度的输出,输出的结果分别代表数据分布的均值与方差。1.1.2 采样器根据编码器得到的均值与方差计算出数据分布情况,从数据分布情况中采样取得数据特征z,并将z传递到两节点为开始的解码器部分。..原创 2022-03-24 18:51:00 · 8459 阅读 · 1 评论 -
【Pytorch神经网络实战案例】14 构建条件变分自编码神经网络模型生成可控Fashon-MNST模拟数据
1 条件变分自编码神经网络生成模拟数据案例说明在实际应用中,条件变分自编码神经网络的应用会更为广泛一些,因为它使得模型输出的模拟数据可控,即可以指定模型输出鞋子或者上衣。1.1 案例描述在变分自编码神经网络模型的技术上构建条件变分自编码神经网络模型,实现向模型输入标签,并使其生成与标签类别对应的模拟数据的功能。1.2 条件变分自编码神经网络的实现条件变分自编码神经网络在变分自编码神经网络基础之上,增加指导性条件。在编码阶段的输入端添加了与标签对应的特征,在解码阶段同样添加标签特征。这..原创 2022-03-24 18:51:48 · 8673 阅读 · 0 评论 -
【Pytorch神经网络实战案例】15 WGAN-gp模型生成Fashon-MNST模拟数据
1 WGAN-gp模型生成模拟数据案例说明使用WGAN-gp模型模拟Fashion-MNIST数据的生成,会使用到WGAN-gp模型、深度卷积GAN(DeepConvolutional GAN,DCGAN)模型、实例归一化技术。1.1 DCGAN中的全卷积WGAN-gp模型侧重于GAN模型的训练部分,而DCGAN是指使用卷积神经网络的GAN,它侧重于GAN模型的结构部分,重点介绍在DCGAN中使用全卷积进行重构的技术。1.1.1 DCGAN的原理与实现DCGAN的原理和...原创 2022-03-26 16:26:49 · 15226 阅读 · 12 评论 -
【Pytorch神经网络实战案例】16 条件WGAN模型生成可控Fashon-MNST模拟数据
1 条件GAN前置知识条件GAN也可以使GAN所生成的数据可控,使模型变得实用,1.1 实验描述搭建条件GAN模型,实现向模型中输入标签,并使其生成与标签类别对应的模拟数据的功能,基于WGAN-gp模型改造实现带有条件的wGAN-gp模型。2实例代码编写条件GAN与条件自编码神经网络的做法几乎一样,在GAN的基础之上,为每个模型输入都添加一个标签向量。2.1 代码实战:引入模块并载入样本----WGAN_cond_237.py(第1部分)import torchimpo...原创 2022-03-26 16:54:02 · 4704 阅读 · 1 评论 -
【Pytorch神经网络实战案例】17 带W散度的WGAN-div模型生成Fashon-MNST模拟数据
1 WGAN-div 简介W散度的损失函数GAN-dv模型使用了W散度来替换W距离的计算方式,将原有的真假样本采样操作换为基于分布层面的计算。2 代码实现在WGAN-gp的基础上稍加改动来实现,重写损失函数的实现。2.1引入模块并载入样本----WGAN_div_241.py(第1部分)import torchimport torchvisionfrom torchvision import transformsfrom torch.utils.data import ...原创 2022-03-26 17:35:23 · 3651 阅读 · 1 评论 -
【Pytorch神经网络实战案例】18 最大化深度互信信息模型DIM实现搜索最相关与最不相关的图片
图片搜索器分为图片的特征提取和匹配两部分,其中图片的特征提取是关键。将使用一种基于无监督模型的提取特征的方法实现特征提取,即最大化深度互信息(DeepInfoMax,DIM)方法。1 最大深度互信信息模型DIM简介在DIM模型中,结合了自编码和对抗神经网络,损失函数使用了MINE与f-GAN方法的结合。在此之上,DM模型又从全局损失、局部损失和先验损失3个损失出发进行训练。1.1 DIM模型原理性能好的编码器应该能够提取出样本中最独特、具体的信息,而不是单纯地追求过小的重构误差。...原创 2022-03-28 12:44:30 · 13171 阅读 · 5 评论 -
【Pytorch神经网络实战案例】19 神经网络实现估计互信息的功能
1 案例说明(实现MINE正方法的功能)定义两组具有不同分布的模拟数据,使用神经网络的MINE的方法计算两个数据分布之间的互信息2 代码编写2.1 代码实战:准备样本数据import torchimport torch.nn as nnimport torch.nn.functional as Fimport numpy as npfrom tqdm import tqdmimport matplotlib.pyplot as pltimport osos.environ['原创 2022-03-28 14:49:29 · 14718 阅读 · 2 评论 -
【Pytorch神经网络实战案例】20 基于Cora数据集实现图卷积神经网络论文分类
1 案例说明(图卷积神经网络)CORA数据集里面含有每一篇论文的关键词以及分类信息,同时还有论文间互相引用的信息。搭建AI模型,对数据集中的论文信息进行分析,根据已有论文的分类特征,从而预测出未知分类的论文类别。1.1 使用图卷积神经网络的特点使用图神经网络来实现分类。与深度学习模型的不同之处在于,图神经网通会利用途文本身特征和论文间的关系特征进行处理,仅需要少量样本即可达到很好的效果。1.2 CORA数据集CORA数据集是由机器学习的论文整理而来的,记录每篇论文用到的关键...原创 2022-03-31 10:55:19 · 15446 阅读 · 5 评论 -
【Pytorch神经网络实战案例】21 基于Cora数据集实现Multi_Sample Dropout图卷积网络模型的论文分类
Multi-sample Dropout是Dropout的一个变种方法,该方法比普通Dropout的泛化能力更好,同时又可以缩短模型的训练时间。XMuli-sampleDropout还可以降低训练集和验证集的错误率和损失,参见的论文编号为arXⅳ:1905.09788,20191 实例说明本例就使用Muli-sampleDropout方法为图卷积模型缩短训练时间。1.1 Multi-sample Dropout方法/多样本联合Dropout是在Dropout随机选取节点丢弃的部分上进行优化,原创 2022-03-31 13:24:19 · 12193 阅读 · 0 评论 -
【Pytorch神经网络实战案例】22 基于Cora数据集实现图注意力神经网络GAT的论文分类
注意力机制的特点是,它的输入向量长度可变,通过将注意力集中在最相关的部分来做出决定。注意力机制结合RNN或者CNN的方法。1 实战描述【主要目的:将注意力机制用在图神经网络中,完成图注意力神经网络的结构和搭建】1.1 实现目的有一个记录论文信息的数据集,数据集里面含有每一篇论文的关键词以及分类信息,同时还有论文间互相引用的信息。搭建AI模型,对数据集中的论文信息进行分析,使模型学习已有论文的分类特征,以便预测出未知分类的论文类别。1.2 图注意力网络图图注意力网络(Grap...原创 2022-04-01 21:42:50 · 12707 阅读 · 2 评论 -
【Pytorch神经网络实战案例】23 使用ImagNet的预训练模型识别图片内容
ImageNet数据集一共有1000个类别,表明该数据集上的预训练模型最多可以输出1000种不同的分类结果。预训练模型都存放在PyTorch的torchvision库中。torchvision库是非常强大的yTorch视觉处理库,包括分类、目标检测、语义分割(Semantic Segmentation)等多中计算机视觉任务的预训练模型,还包括图片处理、错点计算等很多基础工具。...原创 2022-04-09 16:03:55 · 14955 阅读 · 0 评论 -
【Pytorch神经网络实战案例】24 基于迁移学习识别多种鸟类(CUB-200数据集)
1 迁移学习在实际开发中,常会使用迁移学习将预训练模型中的特征提取能力转移到自己的模型中。1.1 迁移学习定义迁移学习指将在一个任务上训练完成的模型进行简单的修改,再用另一个任务的数据继续训练,使之能够完成新的任务。1.1.1 迁移学习举例在ImageNet数据集上训练过的ResNet模型,其任务是进行图片分类,可以对其进行修改使用在目标定位任务上。1.2 迁移学习的分类迁移学习是机器学习的分支,按照学习方式可以分为基于样本的迁移、基于特征的迁移、基于模型的迁移,以及基于...原创 2022-04-09 16:47:54 · 5865 阅读 · 0 评论 -
【Pytorch神经网络实战案例】25 (带数据增强)基于迁移学习识别多种鸟类(CUB-200数据集)
1 数据增强在目前分类效果最好的EficientNet系列模型中,EfficientNet-B7版本的模型就是使用随机数据增强方法训练而成的。RandAugment方法也是目前主流的数据增强方法,用RandAugment方法进行训练,会使模型的精度得到提升。2 RandAugment2.1 RandAugment方法简介RandAugment方法是一种新的数据增强方法,它比自动数据增强(AutOAugment)方法更简单、更好用。它可以在原有的训练框架中,直接对AutoAugment原创 2022-04-11 13:50:09 · 4275 阅读 · 1 评论 -
【Pytorch神经网络实战案例】26 MaskR-CNN内置模型实现目标检测
1 Pytorch中的目标检测内置模型在torchvision库下的modelsldetecton目录中,找到__int__.py文件。该文件中存放着可以导出的PyTorch内置的目标检测模型。2 MaskR-CNN内置模型实现目标检测2.1 代码逻辑简述将COCO2017数据集上的预训练模型maskrcnm_resnet50_fpn_coco加载到内存,并使用该模型对图片进行目标检测。2.2 代码实战 :MaskR-CNN内置模型实现目标检测from PIL import I原创 2022-04-11 17:10:11 · 4530 阅读 · 0 评论 -
【Pytorch神经网络实战案例】27 MaskR-CNN内置模型实现语义分割
1 PyTorch中语义分割的内置模型在torchvision库下的models\segmentation目录中,找到segmentation.Py文件。该文件中存放着PyTorch内置的语义分割模型。2 MaskR-CNN内置模型实现语义分割2.1 代码逻辑简述将COCO 2017数据集上的预训练模型dceplabv3_resnet101_coco加载到内存,并使用该模型对图片进行语义分割。2.2 代码实现:MaskR-CNN内置模型实现语义分割import torchimpo原创 2022-04-11 19:11:45 · 6259 阅读 · 1 评论 -
【Pytorch神经网络实战案例】28 GitSet模型进行步态与身份识别(CASIA-B数据集)
1 CASIA-B数据集本例使用的是预处理后的CASIA-B数据集, 数据集下载网址如下。 http://www.cbsr.ia.ac.cn/china/Gait%20Databases%20cH.asp该数据集是一个大规模的、多视角的步态库。其中包括124个人,每个人有11个视角(0,18,36,...,180),在3种行走条件(普通、穿大衣、携带包裹)下采集。1.1 CASIA-B数据集的两种形式CASIA-B数据集有视频和轮廓两种形式。1.1.1 案例讲解本例直接..原创 2022-04-15 17:13:16 · 11738 阅读 · 11 评论 -
【Pytorch神经网络实战案例】29 【代码汇总】GitSet模型进行步态与身份识别(CASIA-B数据集)
1 GaitSet_DataLoader.pyimport numpy as np # 引入基础库import osimport torch.utils.data as tordatafrom PIL import Imagefrom tqdm import tqdmimport random# 1.1定义函数,加载文件夹的文件名称 # load_data函数, 分为3个步骤: #def load_data(dataset_path,imgresize,label_t原创 2022-04-15 17:18:23 · 8784 阅读 · 2 评论 -
【Pytorch神经网络实战案例】30 jieba库分词+训练中文词向量
1 安装jieba1.1 安装pip install jieba1.2 测试import jiebaseg_list = jieba.cut("谭家和谭家和")for i in seg_list: printf(i);2 代码实现:训练中文词向量2.1 样本预处理并生成字典---skip_gram.py(第一部分)# 1.1 样本预处理并生成字典# 使用get_ch lable函数将所有文字读入raining_data,然后在fenci函数里使用...原创 2022-04-17 10:54:44 · 11446 阅读 · 0 评论 -
核酸结果统计难?130行代码实现基于ocr的核酸截图识别存储Excel(复现代码核查核酸报告)
1 程序背景学校要收核酸截图,汇总太麻烦了,故将OCR整合到数据中。1.1 命名规范20200250202003曹文举4.12阴性.jpg2 程序import timeitimport xlsxwriterimport cv2 as cvimport numpy as npimport osimport easyocrimport reos.environ['KMP_DUPLICATE_LIB_OK'] = 'True'def load_file_name(fil原创 2022-04-17 11:05:39 · 12598 阅读 · 1 评论 -
【Pytorch神经网络实战案例】31 TextCNN模型分析IMDB数据集评论的积极与消极
卷积神经网络不仅在图像视觉领域有很好的效果,而且在基于文本的NLP领域也有很好的效果。TextCN如模型是卷积神经网络用于文本处理方面的一个模型。在TextCNN模型中,通过多分支卷积技术实现对文本的分类功能。1 TextCNN1.1 TextCNN模型结构TexCNN模型是利用卷积神经网络对文本进行分类的模型,该模型的结构可以分为以下4个层次:1.1.1 词嵌入层将每个词对应的向量转化成多维度的词嵌入向量,将每个句子当作一幅图来进行处理(词的个数词×嵌入向量维度)。1...原创 2022-04-18 16:22:39 · 11547 阅读 · 11 评论 -
【Pytorch神经网络实战案例】32 使用Transformers库的管道方式实现:加载指定模型+文本分类+掩码语言建模+摘要生成+特征提取+阅读理解+实体词识别
一、解决问题AttributeError: module 'torch.utils' has no attribute 'data'二、解决思路属性错误:模块的'torch.utils'没有属性'data'三、解决方法只需在顶行添加此代码即可!import torch.utils.data # 新添加代码...原创 2022-04-23 16:28:20 · 10765 阅读 · 0 评论 -
【Pytorch神经网络实战案例】33 使用BERT模型实现完形填空任务
1 案例描述案例:加载Transformers库中的BERT模型,并用它实现完形填空任务,即预测一个句子中缺失的单词。2 代码实现:使用BERT模型实现完形填空任务2.1 代码实现:载入词表,并对输入的文本进行分词转化---BERT_MASK.py(第1部分)import torchfrom transformers import BertTokenizer, BertForMaskedLM# 1.1 载入词表,并对输入的文本进行分词转化# 加载预训练模型...原创 2022-04-25 20:39:24 · 11291 阅读 · 8 评论 -
【Pytorch神经网络实战案例】34 使用GPT-2模型实现句子补全功能(手动加载)
1GPT-2 模型结构1手动加载GPT-2模型并实现语句与完整句子预测使用GPT-2模型配套的PreTrainedTokenizer类,所需要加载的词表文件比BERT模型多了一个merges文件。1.1 代码实现:手动加载GPT-2模型并实现下一个单词预测---GPT2_make.py(第1部分)import torchfrom transformers import GPT2Tokenizer, GPT2LMHeadModel# 案例描述:Transforme...原创 2022-04-27 10:45:35 · 14728 阅读 · 4 评论