运行时提示Size 输入必须为整数,求告知是什么问题,运行时提示Size 输入必须为整数
下面是Matlab中关于size函数的用法,为返回矩阵对应维度尺寸的函数,
d = size(X)
[m,n] = size(X)
size(X,dim)
[d1,d2,d3,...,dn] = size(X)
当使用 size(X,dim)时,返回地dim维度的大小,且要求dim为整数。
该回答引用GPTᴼᴾᴱᴺᴬᴵ
该错误通常发生在使用PyTorch的Conv2d或ConvTranspose2d时,输入的尺寸为非整数值。这是因为这些函数需要确保在计算卷积时每个滑动窗口的大小都是整数,从而需要输入的尺寸为整数。
-
要解决这个问题,您可以检查输入的张量形状,确保所有的维度都是整数。您可以尝试使用floor或round函数将张量中的浮点数舍入为最接近的整数。例如,如果您的张量形状为(3,4.5,2,2.5),则可以使用以下代码将其舍入为整数:
import torch
shape = (3, 4.5, 2, 2.5)
shape = tuple([int(round(dim)) for dim in shape])
x = torch.randn(shape)
这将输出一个与输入形状相同的张量,但每个维度都是整数。如果您的输入数据是从文件中读取的,则需要检查输入数据的格式并确保它们是整数值。