【学习笔记】【Pytorch】六、nn.Module的使用

学习地址

PyTorch深度学习快速入门教程【小土堆】.

主要内容

一、torch.nn模块概述
概述:帮助程序员方便执行与神经网络相关的行为。
二、nn.Module类的使用
概述:所有神经网络模块的基类,既可以表示神经网络中的某个层(layer),也可以表示一个包含很多层的神经网络。

一、torch.nn模块概述

from torch import nn

概述nnNeural Network的简称,帮助程序员方便执行如下的与神经网络相关的行为:

(1)创建神经网络

(2)训练神经网络

(3)保存神经网络

(4)恢复神经网络

nn文件夹结构
在这里插入图片描述

二、nn.Module类的使用

图片

概述:所有神经网络模块的基类,既可以表示神经网络中的某个层(layer),也可以表示一个包含很多层的神经网络。

1.使用说明

【继承】官方示例:

import torch.nn as nn
import torch.nn.functional as F

class Model(nn.Module):
    def __init__(self):
        super().__init__()
        self.conv1 = nn.Conv2d(1, 20, 5)
        self.conv2 = nn.Conv2d(20, 20, 5)
      
    # 前向传播,继承 nn.Module 必需被重写的函数,
    # 否则使用 object(x) 实现会报错
    def forward(self, x):
        x = F.relu(self.conv1(x))
        return F.relu(self.conv2(x))

前向传播:
在这里插入图片描述
注:relu是激活函数,小于0就是0,大于0就是本身。
在这里插入图片描述

2.代码实现

import torch
from torch import nn


class Model(nn.Module):
    def __init__(self) -> None:
        super().__init__()

    # 前向传播,继承 nn.Module 必需被重写的函数,
    # 否则使用 object(x) 实现会报错
    def forward(self, input):
        output = input + 1
        return output


nn_model = Model()  # 创建一个实例化
x = torch.tensor(1.0)  # 将1.0这个数转换为tensor数据类型
output = nn_model(x)  # nn.Module 的__call__()调用了forward()
print(output)  # tensor(2.)

控制台输出

tensor(2.)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值