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

相关推荐
马踏岛国赏樱花5 分钟前
低成本大模型构建-KTransformers
人工智能
MR_Colorful9 分钟前
从零开始:Windows 深度学习GPU环境配置完整指南(以TensorFlow为例)
人工智能·深度学习
心无旁骛~15 分钟前
openGauss 在 AI、RAG 与向量数据库时代的技术破局与生态深耕
数据库·人工智能
haing201917 分钟前
Bezier曲线曲率极值的计算方法
人工智能·算法·机器学习·曲率极值
xwill*17 分钟前
π0: A Vision-Language-Action Flow Model for General Robot Control
人工智能·深度学习
歌_顿21 分钟前
深度学习算法以及优化器复习
人工智能·算法
AI360labs_atyun26 分钟前
学习教学AI指南,附4个提示词指令(Prompts)
人工智能·科技·学习·ai·chatgpt
Hy行者勇哥31 分钟前
从人工账本到智能终端:智能硬件核算碳排放的 演进史
大数据·人工智能·边缘计算·智能硬件
源代码杀手31 分钟前
AI 芯片设计完整知识体系研究调研报告——资料参考来源文献
人工智能
爱思德学术39 分钟前
中国计算机学会(CCF)推荐学术会议-C(计算机体系结构/并行与分布计算/存储系统):CF 2026
人工智能·算法·硬件