PytorchCNN proyecto construcción 4-red neuronal convolucional común cnn

PytorchCNN proyecto construcción 4-red neuronal convolucional común cnn


El código general se puede ver en mi github


Red neuronal convolucional común

El propósito principal de hoy no es presentar los principios de cada CNN, etc. Muchos blogueros han explicado los principios en detalle. El propósito principal de este artículo es cómo usar estos modelos, y luego la capacitación y el aprendizaje, por lo que enumeraré algunas CNN importantes, daré artículos e introducciones básicas, puede consultarlas usted mismo.

 
Escribimos los cnn_models necesarios en la carpeta de modelos recién creada y los llamamos de manera uniforme

 

Las CNN comunes son: Lenet, Alexnet, VGG, Inception, Resnet, etc. Para artículos y códigos específicos, consulte Referencias [2]


Llame a la red capacitada con Argparse

Antes, aprendimos el uso de argparse. También ingresamos el modelo de red utilizado cada vez como parámetro. Necesitamos una función para conectar los parámetros de entrada con los modelos reales. En la carpeta utils, escriba una función get_net.py., Para cumplir con los requisitos requeridos.

import os
import sys
from models import resnet,vgg,inception,squeezenet
from models.resnet import resnet18,resnet34,resnet50,resnet101,resnet152
from models.vgg import vgg11,vgg11_bn,vgg13,vgg13_bn,vgg16,vgg16_bn,vgg19,vgg19_bn
from models.inception import inception_v3
from models.squeezenet import squeezenet1_0
from models.alexnet import alexnet
from models.lenet5 import LeNet5
import pdb

def get_network(args,cfg):
    """ return given network
    """
    # pdb.set_trace()
    if args.net == 'lenet5':
        net = LeNet5().cuda()
    elif args.net == 'alexnet':
        net = alexnet(pretrained=args.pretrain, num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'vgg16':
        net = vgg16(pretrained=args.pretrain, num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'vgg13':
        net = vgg13(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'vgg11':
        net = vgg11(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'vgg19':
        net = vgg19(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'vgg16_bn':
        net = vgg16_bn(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'vgg13_bn':
        net = vgg13_bn(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'vgg11_bn':
        net = vgg11_bn(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'vgg19_bn':
        net = vgg19_bn(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net =='inceptionv3':
        net = inception_v3().cuda()
    elif args.net == 'resnet18':
        net = resnet18(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda(args.gpuid)
    elif args.net == 'resnet34':
        net = resnet34(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'resnet50':
        net = resnet50(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda(args.gpuid)
    elif args.net == 'resnet101':
        net = resnet101(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'resnet152':
        net = resnet152(pretrained=args.pretrain,num_classes=cfg.PARA.train.num_classes).cuda()
    elif args.net == 'squeezenet':
        net = squeezenet1_0().cuda()
    else:
        print('the network name you have entered is not supported yet')
        sys.exit()

    return net


referencias

1. Código Github oficial de CNN de Pytorch_Torchvision

2. Tesis, interpretación e implementación de código de algoritmos clásicos de aprendizaje profundo.

Finalmente, me gustaría agradecer a mi hermano, que me enseñó a construir todo el proyecto, y a los amiguitos que estudiaron juntos en el laboratorio ~ ¡Espero que tengan éxito en todo y que tengan un gran futuro!

Supongo que te gusta

Origin blog.csdn.net/qq_44783177/article/details/113770624
Recomendado
Clasificación