【问题标题】:Why the input type changed while call _call_impl in pytorch为什么在pytorch中调用_call_impl时输入类型发生了变化
【发布时间】:2021-05-11 00:46:00
【问题描述】:

我正在把pytorch模型转成openvino IR,我的pytorch的nn是vgg16,方法是更快的rcnn,在调试代码的时候出现了一个奇怪的问题。

当我运行以下代码时

fc7 = self.classifier(pool, abc="abc123")

池对象是OpenVinoTensor,abc="abc123"是调试的测试参数。 分类器定义如下:

顺序( (0): 线性(in_features=25088, out_features=4096, 偏差=True) (1): ReLU(inplace=True) (2):线性(in_features=4096,out_features=4096,bias=True) (3): ReLU(inplace=True)

self.classifier(pool, abc="abc123") 调用后,调用torch.nn.Module._call_impl

def _call_impl(self, *input, **kwargs)

然后我发现这里的“input”是'(ReLU_57,)',它是一个元组,我想应该是OpenVinoTensor,而“kwargs”是abc="abc123"。

我调用分类器后发生了什么?

【问题讨论】:

    标签: python pytorch openvino


    【解决方案1】:

    当您调用分类器时会发生什么取决于您对分类器函数进行了编程。

    您可以参考here进一步了解。

    另外,classifier in PyTorch 就是这样工作的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 1970-01-01
      • 2019-01-02
      • 2012-12-16
      • 2020-03-02
      • 1970-01-01
      • 2018-12-24
      相关资源
      最近更新 更多