神经网络的基本骨架 nn.module 与卷积操作

复制代码
import torch
from torch import nn


class Tudui(nn.Module):
    def __init__(self):
        super().__init__()

    def forward(self, input):
        output = input + 1
        return output
    def __call__(self, input):
        return self.forward(input)

tudui = Tudui()
x = torch.tensor(1.0)
output = tudui(x)
print(output)

疑问:tudui = Tudui()

output=tudui(x) 为何写成output = Tudui(x)就会报错

PyTorch 的标准做法(先创建实例,再调用实例)

  • tudui = Tudui() 创建了 Tudui 类的一个实例。
  • 这个实例可以被多次使用,而不需要每次都创建新的对象。
  • output = Tudui(x) 时,Python 实际上在做两件事:
    a) 创建 Tudui 类的实例
    b) 尝试用 x 作为参数调用这个新创建的实例

卷积操作

复制代码
import torch
import torch.nn.functional as F

input = torch.tensor([[1, 2, 0, 3, 1],
                      [0, 1, 2, 3, 1],
                      [1, 2, 1, 0, 0],
                      [5, 2, 3, 1, 1],
                      [2, 1, 0, 1, 1]])

kernel = torch.tensor([[1, 2, 1],
                       [0, 1, 0],
                       [2, 1, 0]])

input = torch.reshape(input,shape=(1,1,5,5))
kernel = torch.reshape(kernel, (1, 1, 3, 3))

print(input.shape)
print(kernel.shape)

output = F.conv2d(input, kernel, stride=1)
print(output)

output2 = F.conv2d(input, kernel, stride=2)
print(output2)

output3 = F.conv2d(input, kernel, stride=1, padding=1)
print(output3)

padding = 1 就是 在原卷积层周围一圈补0

相关推荐
qyz_hr5 分钟前
待岗人员如何安置?国企末等调整制度下的分流通道设计与合规要点
人工智能
成都被卷死的程序员9 分钟前
AI的Tools与Skills详解
人工智能
橙臣程20 分钟前
深度学习9——transformer之注意力机制
人工智能·深度学习·transformer
网络工程小王22 分钟前
【HCIE-AI】10.pytorch模型迁移分析
人工智能·学习·华为·llama
XMAIPC_Robot29 分钟前
RK3588+8路AHD+双CAN工控方案|多路模拟视频同步采集+工业总线联动AI边缘检测落地
人工智能·rk3588·ai视觉·图像采集·多路ahd视频
hangyuekejiGEO32 分钟前
临沂GEO技术解析与行业应用方案
人工智能·python
科技圈快迅38 分钟前
2026年上海中卡RFID危险品智能柜深度解析:多系统融合的化工储运安全管控
人工智能·安全
Meya112739 分钟前
实时采集 + 全域可视化,打造跨站点机房一体化U位管理方案
大数据·运维·人工智能
易连EDI—EasyLink44 分钟前
电动汽车供应链协同新范式:蔚来(NIO)企业级EDI平台建设实践
网络·人工智能·edi·nio·as2
AI星桥小王子1 小时前
分清原生音画同步!主流 AI 视频生成平台横向对比
人工智能