You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyTorch1.7.0调用Conv2d传padding='same'报错如何解决?

报错原因

你遇到的报错是因为PyTorch 1.7.0版本不支持为nn.Conv2d的padding参数传入字符串类型值(如'same')。字符串形式的'same'/'valid'padding配置是PyTorch 1.10版本才新增的特性,低于该版本的PyTorch仅支持接收整数或整数元组作为padding参数的输入。

解决方案

有两种可选方案解决该问题:

  • 方案一:手动计算padding值替换字符串参数(更推荐,无需改动现有环境依赖)
    当卷积步长stride为默认值1时,要实现same padding的效果(输出特征图尺寸与输入一致),padding数值可按如下规则计算:
    1. 当卷积核为正方形时,padding = kernel_size // 2
    2. 当卷积核为矩形(尺寸为(h, w))时,padding = (h//2, w//2)
      你当前代码的kernel_size为2,对应padding值为1,修改后的代码如下:
import torch
from torch import nn
in_channels = 1
out_channels = 3
kernel_size = 2
conv1 = nn.Conv2d(in_channels, out_channels, kernel_size, padding=kernel_size//2)
  • 方案二:升级PyTorch版本到1.10及以上
    升级后即可直接使用padding='same'的写法,升级命令如下:
pip install torch>=1.10 torchvision>=0.11

如果你的Kaggle环境中其他代码有依赖PyTorch 1.7.0的特性,不推荐使用该方案,避免出现依赖冲突。

内容的提问来源于stack exchange,提问作者d4riush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 15:15:04