学习pytorch8 土堆说卷积操作

土堆说卷积操作

    • 官网
    • [debug torch版本只有nn 没有nn.functional](#debug torch版本只有nn 没有nn.functional)
    • 代码
    • 执行结果

B站小土堆视频学习笔记

官网

https://pytorch.org/docs/stable/nn.html#convolution-layers

常用torch.nn, nn是对nn.functional的封装,使函数更易用。

卷积核从输入图像左上角,先向右遍历行,stride为1 挪一个格位置,向右遍历完,向下一格,再从左向右遍历。

卷积核和输入图像对应位置相乘后结果想加,得到右边的输出结果。

stride

padding

debug torch版本只有nn 没有nn.functional

sh 复制代码
 conda activate pytorch
 conda install pytorch-cpu torchvision-cpu -c pytorch

在当前环境安装pytorch-cpu后,functional函数就可以调用啦

https://www.saoniuhuo.com/question/detail-2646442.html

代码

py 复制代码
import torch
from torch.nn import 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, [1, 1, 5, 5])
kernel = torch.reshape(kernel, [1, 1, 3, 3])
print(input.shape)
print(kernel.shape)
output1 = F.conv2d(input, kernel, stride=1)
print(output1)

output2 = F.conv2d(input, kernel, stride=2)
print(output2)
# 默认padding=0
output3 = F.conv2d(input, kernel, stride=1, padding=1)
print(output3)

执行结果

text 复制代码
p14_conv.py
torch.Size([1, 1, 5, 5])
torch.Size([1, 1, 3, 3])
tensor([[[[10, 12, 12],
          [18, 16, 16],
          [13,  9,  3]]]])
tensor([[[[10, 12],
          [13,  3]]]])
tensor([[[[ 1,  3,  4, 10,  8],
          [ 5, 10, 12, 12,  6],
          [ 7, 18, 16, 16,  8],
          [11, 13,  9,  3,  4],
          [14, 13,  9,  7,  4]]]])

Process finished with exit code 0
相关推荐
咩图5 分钟前
VSCode+Python创建项目
开发语言·python
zhanglu51167 分钟前
Java Lambda 表达式使用深度解析
开发语言·前端·python
Hello.Reader8 分钟前
Flink Python REPL(pyflink-shell)实战:本地/远程/YARN 三种启动方式 + Table API 交互开发流程
python·flink·交互
henry1010109 分钟前
利用Python一键创建AWS EC2实例
linux·python·云计算·aws·ec2
EveryPossible10 分钟前
工作流练习
服务器·python·缓存
一次旅行14 分钟前
接口自动化测试模板
数据库·python·pytest
Suryxin.23 分钟前
从0开始复现nano-vllm「model_runner.py」上半篇之初始化分布式推理环境
人工智能·python·深度学习·机器学习·vllm
奔跑的蜗牛FelixChioa24 分钟前
python学习之快速掌握 pandas 数据可视化:「matplotlib+seaborn」极简实战方案
python·pandas·数据可视化
All The Way North-32 分钟前
【LSTM系列·第三篇】单样本 vs Batch:LSTM全流程计算对比,彻底搞懂为何 h_t 与 c_t 维度必须相同
pytorch·rnn·深度学习·神经网络·lstm·序列模型·理论与工程
桂花饼39 分钟前
Sora-2 API 低成本接入指南:Python 实现 0.08 元/次的视频生成方案
人工智能·python·qwen3-next·nano banana pro·gemini-3-pro·sora2pro