Pytorch入门(一):定义神经网络

本文是PyTorch入门系列的第一部分,主要介绍如何在PyTorch中定义一个简单的神经网络。通过实例代码,读者将理解PyTorch的动态计算图机制和神经网络构建过程。
摘要由CSDN通过智能技术生成

直接代码
import torch as t
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
# 定义网络
print("===================定义网络=========================")
# 定义网络时,需要继承nn.Module,并实现它的forward方法,把网络中具有可学习参数的层放在构造函数__init__中。
# 如果某一层(如ReLU)不具有可学习的参数,则既可以放在构造函数中,也可以不放,但建议不放在其中,
# 而在forward中使用nn.functional代替。
#只要在nn.Module的子类中定义了forward函数,backward函数就会自动被实现(利用autograd)。
# 在forward 函数中可使用任何tensor支持的函数,还可以使用if、for循环、print、log等Python语法,
# 写法和标准的Python写法一致。

#LeNet的网络结构
class Net(nn.Module):
    def __init__(self):
        # nn.Module子类的函数必须在构造函数中执行父类的构造函数
        # 下式等价于nn.Module.__init__(self)
        super(Net, self).__init__()

        # 卷积层 '1'表示输入图片为单通道, '6'表示输出通道数,'5'表示卷积核为5*5
        #步长默认是1
        self.conv1 = nn.Conv2d(1, 6, 5)
        # 卷积层
        self.conv2 = nn.Conv2d(6, 16, 5)
        # 仿射层/全连接层,y = Wx + b
        self.fc1 
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值