Las redes neuronales convolucionales incluyen la función principal, botÃn… Los siguientes pasos se utilizan para implementar la extracción de caracterÃsticas de una red neuronal convolucional.
Importe los modelos adecuados para crear un modelo de extracción de caracterÃsticas con PyTorch.
import torch import torch.nn as nn from torchvision import models
Cree una clase de extractor de rasgos a la que pueda llamar según sea necesario.
class Feature_extractor(nn.module): def forward(self, input): self.feature = input.clone() return input new_net = nn.Sequential().cuda() # the new network target_layers = [conv_1, conv_2, conv_4] # layers you want to extract` i = 1 for layer in list(cnn): if isinstance(layer,nn.Conv2d): name = "conv_"+str(i) art_net.add_module(name,layer) if name in target_layers: new_net.add_module("extractor_"+str(i),Feature_extractor()) i+=1 if isinstance(layer,nn.ReLU): name = "relu_"+str(i) new_net.add_module(name,layer) if isinstance(layer,nn.MaxPool2d): name = "pool_"+str(i) new_net.add_module(name,layer) new_net.forward(your_image) print (new_net.extractor_3.feature)
🚫