Pytorch深度学习实践第十一讲 卷积神经网络(高级篇)(1)

本文介绍了如何在PyTorch中实现Inception卷积网络,结合刘二大人的B站课程,详细阐述了网络结构,并提供了GPU运行的快速实现。通过4行关键GPU代码,即便在CPU环境下也能高效完成训练。文章附有运行结果和学习曲线图。
摘要由CSDN通过智能技术生成

B站 刘二大人 传送门 卷积神经网络(高级篇)

	课件链接:https://pan.baidu.com/s/1vZ27gKp8Pl-qICn_p2PaSw
	提取码:cxe4

本节把从简单的卷及网络变成了稍微复杂一些的Inception卷积网络和残差网络,这里分两节,本节给出Inception网络代码。网络结构如下图,具体请参考传送门课程和网盘课件。

在这里插入图片描述

用GPU运行2分半就完事了,用CPU整个过程也在10分钟内完成。只有4行GPU代码,文中有注释,不能用GPU的话把那四句代码注释掉就可以了。GPU代码分别在76、77、89、116行。

下面是运行输出和绘制的曲线图。

在这里插入图片描述
在这里插入图片描述

import torch
from  torch.utils.data import DataLoader
from torchvision import transforms
from torchvision import datasets
import torch.nn.functional as F
import matplotlib.pyplot as plt
import torch.nn as nn
import time
import datetime

batch_size =64
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307, ), (0.3081, ))])
#将原始像素数据归一到(01)中 并基于均值0.1307和标准差0.3081来对数据进行标准化处理

train_dataset = datasets.MNIST(root='D:\Code\Pytorch exercise/dataset/mnist', train=True, download=True,transform=transform)
train_loader = DataLoader(train_dataset, shuffle=True,batch_size=batch_size)
#(下载)加载训练集,之后进行batch分组
test_dataset = datasets.MNIST(root='D:\Code\Pytorch exercise/dataset/mnist', train=False,download=True,transform=transform)
test_loader = DataLoader(test_dataset,shuffle=False ,batch_size=batch_size)
#测试集

class InceptionA(nn.Module):
    def __init__(self, in_channels):
        super(InceptionA, self).__init__()
        self.branch1x1 = nn.Conv2d(in_channels, 16, kernel_size=1)
        #1x1
        self.branch5x5_1 = nn
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值