Вопрос, связанный с проблемой вывода на печать Re sNet и визуализации модели Pytorch Re sNet - PullRequest
0 голосов
/ 28 апреля 2020

Я вижу несколько проблем с загруженной моделью Resnet50 из https://github.com/facebookresearch/semi-supervised-ImageNet1K-models. Может ли кто-нибудь помочь с вопросами, приведенными ниже?

>>> rn50=torch.hub.load('facebookresearch/semi-supervised-ImageNet1K-models', 'resnet50_ssl')
Downloading: "https://download.pytorch.org/models/resnet50-19c8e357.pth"
100.0%
>>> print(rn50)
ResNet(
  (conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
  (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
  (relu): ReLU(inplace=True)
  (maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
  (layer1): Sequential(
    (0): Bottleneck(
      (conv1): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
      (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
      (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (relu): ReLU(inplace=True)
      (downsample): Sequential(
        (0): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
        (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      )
    )
    (1): Bottleneck(
      (conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
      (bn1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
      (bn2): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
      (bn3): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (relu): ReLU(inplace=True)
    )

>>> x = torch.zeros(1, 3, 224, 224, dtype=torch.float, requires_grad=False)
>>>
>>> make_dot(rn50(x)).render("rn50_attached")
'rn50_attached.pdf'

Вопросы:

  1. Почему только в узком месте-0, а не в узком месте-1 выше?
      (downsample): Sequential(
        (0): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
        (1): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      )

Как увидеть, где определено / создано узкое место в модели re snet pytorch? На вышеприведенном принте (rn50) он просто используется и не определен. Я также пытался открыть файл .pth в блокноте, но в нем есть символы ascii

Как визуализировать узлы в прямом проходе? «rn50_attached.pdf» показывает все в Backward-pass с именами узлов, такими как Conv2dBackward, BatchNormBackward. Как их правильно визуализировать с помощью прямого именования?

Что такое Thnn в ThnnConv2dBackward?

Сгенерированный PDF выглядит следующим образом .

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...