我正在使用torchvision的Resnet50分类模型,默认情况下接受图像作为输入。我希望使模型接受numpy文件(.npy)作为输入。我知道这两者具有不同的维度,因为numpy数据为
[batch_size, depth, height, width, channels]
代替
[batch_size, channels, depth, height, width].
在this answer的基础上,我可以使用置换函数来改变维度的顺序,但是,我找不到任何解决方案或线索来说明如何在torchvision模型中实现这一点。
1条答案
按热度按时间bttbmeg01#
假设你有一个Tensor
x
,其维数为你想得到一个Tensor
y
,其维数为permute()
方法对这些维进行重新排序。您必须指定原始维的重新排序顺序,以获得新维,即如果我们对此进行分析,在原始Tensor
x
中,维数计算为在新的Tensor中,我们得到
我们需要传递给
permute()
或者,您也可以只使用
einsum()
函数,在该函数中,您可以只输入签名,这要直观得多。