Visualización en pytorch: visualización de modelos de red y visualización de mapas de características

1. Utilice la herramienta netron para visualizar el modelo de pytorch , el tensorboard es demasiado feo y no es intuitivo.

Dirección del proyecto: https://github.com/lutzroeder/Netro

Referencia: https://blog.csdn.net/jieleiping/article/details/102975939

1. Instale netron

pip install netron

2. Demostración del caso

El soporte para el formato de modelo de pytorch (.pt / .pth) no es amigable, por lo que debe guardarse como onnx. ¡Afortunadamente, pytorch admite!

import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.onnx

import netron


class ForwardNet(nn.Module):
    def __init__(self):
        super(ForwardNet, self).__init__()
        self.block1 = nn.Sequential(
            nn.Conv2d(64, 64, 3, padding=1, bias=False),
            nn.BatchNorm2d(64),
            nn.ReLU(inplace=True),
            nn.Conv2d(64, 32, 1, bias=False),
            nn.BatchNorm2d(32),
            nn.ReLU(inplace=True),
            nn.Conv2d(32, 64, 3, padding=1, bias=False),
            nn.BatchNorm2d(64)
        )

        self.conv1 = nn.Conv2d(3, 64, 3, padding=1, bias=False)
        self.output = nn.Sequential(
            nn.Conv2d(64, 1, 3, padding=1, bias=True),
            nn.Sigmoid()
        )

    def forward(self, x):
        x = self.conv1(x)
        identity = x
        x = F.relu(self.block1(x) + identity)
        x = self.output(x)
        return x


input = torch.rand(1, 3, 416, 416)
model = ForwardNet()
output = model(input)

onnx_path = "netForwatch.onnx"
torch.onnx.export(model, input, onnx_path)

netron.start(onnx_path)

 3. Resultados

Después de ejecutar el código anterior, se llamará al navegador local para que se abra, el formulario es similar al tensorboard.

Dos, visualización de mapas de características

Referencia: https://zhuanlan.zhihu.com/p/60753993

 

 

Supongo que te gusta

Origin blog.csdn.net/MasterCayman/article/details/112140868
Recomendado
Clasificación