神经网络的基本骨架 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

相关推荐
zhz521424 分钟前
AI数字人融合VR全景:从技术突破到可信场景落地
人工智能·vr·ai编程·ai数字人·ai agent·智能体
数据与人工智能律师24 分钟前
虚拟主播肖像权保护,数字时代的法律博弈
大数据·网络·人工智能·算法·区块链
武科大许志伟1 小时前
武汉科技大学人工智能与演化计算实验室许志伟课题组参加2025中国膜计算论坛
人工智能·科技
哲讯智能科技1 小时前
【无标题】威灏光电&哲讯科技MES项目启动会圆满举行
人工智能
__Benco1 小时前
OpenHarmony平台驱动开发(十七),UART
人工智能·驱动开发·harmonyos
小oo呆1 小时前
【自然语言处理与大模型】Windows安装RAGFlow并接入本地Ollama模型
人工智能·自然语言处理
开放知识图谱1 小时前
论文浅尝 | HOLMES:面向大语言模型多跳问答的超关系知识图谱方法(ACL2024)
人工智能·语言模型·自然语言处理·知识图谱
weixin_444579301 小时前
基于Llama3的开发应用(二):大语言模型的工业部署
人工智能·语言模型·自然语言处理
一点.点1 小时前
自然语言处理的简单介绍
人工智能·深度学习·自然语言处理
CodeJourney.2 小时前
基于MATLAB的生物量数据拟合模型研究
人工智能·爬虫·算法·matlab·信息可视化