Main Content

darknet53

(No recomendado) Red neuronal convolucional DarkNet-53

Desde R2020a

  • DarkNet-53 network architecture

No se recomienda el uso de darknet53. Utilice la función imagePretrainedNetwork en su lugar y especifique el modelo "darknet53". Para obtener más información, consulte Historial de versiones.

Descripción

DarkNet-53 es una red neuronal convolucional con 53 capas de profundidad. Puede cargar una versión preentrenada de la red entrenada en más de un millón de imágenes desde la base de datos [1] de ImageNet. La red preentrenada puede clasificar imágenes en 1000 categorías de objetos (por ejemplo, teclado, ratón, lápiz y muchos animales). Como resultado, la red ha aprendido representaciones ricas en características para una amplia gama de imágenes. El tamaño de la entrada de imagen de la red es de 256 por 256. Para ver más redes preentrenadas en MATLAB®, consulte Redes neuronales profundas preentrenadas.

DarkNet-53 se suele usar como base para problemas de detección de objetos y flujos de trabajo YOLO [2]. Para ver un ejemplo de cómo entrenar un detector de objetos You Only Look Once (YOLO) versión 2, consulte Object Detection Using YOLO v2 Deep Learning. Este ejemplo utiliza ResNet-50 para la extracción de características. También puede usar otras redes preentrenadas, como DarkNet-19, DarkNet-53, MobileNet-v2 o ResNet-18, en función de los requisitos de la aplicación.

ejemplo

net = darknet53 devuelve una red DarkNet-53 entrenada en el conjunto de datos ImageNet.

Esta función requiere el paquete de soporte Deep Learning Toolbox™ Model for DarkNet-53 Network. Si no ha instalado el paquete de soporte, la función proporciona un enlace de descarga.

net = darknet53('Weights','imagenet') devuelve una red DarkNet-53 entrenada en el conjunto de datos ImageNet. Esta sintaxis es equivalente a net = darknet53.

lgraph = darknet53('Weights','none') devuelve la arquitectura de red DarkNet-53 sin entrenar. El modelo sin entrenar no requiere ningún paquete de soporte.

Ejemplos

contraer todo

Descargue e instale el paquete de soporte Deep Learning Toolbox Model for DarkNet-53 Network.

Escriba darknet53 en la línea de comandos.

darknet53

Si el paquete de soporte Deep Learning Toolbox Model for DarkNet-53 Network no está instalado, la función proporciona un enlace al paquete de soporte correspondiente en Add-On Explorer. Para instalar el paquete de soporte, haga clic en el enlace y después en Install. Para comprobar que la instalación se ha realizado correctamente, escriba darknet53 en la línea de comandos. Si el paquete de soporte requerido está instalado, la función devuelve un objeto DAGNetwork.

darknet53
ans = 

  DAGNetwork with properties:

         Layers: [184×1 nnet.cnn.layer.Layer]
    Connections: [206×2 table]
     InputNames: {'input'}
    OutputNames: {'output'}

Visualice la red con Deep Network Designer.

deepNetworkDesigner(darknet53)

Para examinar otras redes neuronales preentrenadas en Deep Network Designer, haga clic en New.

Deep Network Designer start page showing available pretrained neural networks

Si necesita descargar una red neuronal, deténgase en la red neuronal deseada y haga clic en Install para abrir Add-On Explorer.

Argumentos de salida

contraer todo

Red neuronal convolucional DarkNet-53 preentrenada, devuelta como un objeto DAGNetwork.

Arquitectura de la red neuronal convolucional DarkNet-53 sin entrenar, devuelta como un objeto LayerGraph.

Referencias

[1] ImageNet. http://www.image-net.org.

[2] Redmon, Joseph. “Darknet: Open Source Neural Networks in C.” https://pjreddie.com/darknet.

Capacidades ampliadas

Historial de versiones

Introducido en R2020a

contraer todo

R2024a: No recomendado

No se recomienda el uso de darknet53. Utilice la función imagePretrainedNetwork en su lugar y especifique "darknet53" como modelo.

No está previsto eliminar el soporte para la función darknet53. Sin embargo, la función imagePretrainedNetwork tiene una funcionalidad adicional que ayuda con los flujos de trabajo de transferencia del aprendizaje. Por ejemplo, puede especificar el número de clases de sus datos usando la opción numClasses, y la función devuelve una red que está lista para hacer un nuevo entrenamiento sin necesidad de modificaciones.

La función imagePretrainedNetwork devuelve la red como un objeto dlnetwork, que no almacena los nombres de las clases. Para obtener los nombres de las clases de la red preentrenada, utilice el segundo argumento de salida de la función imagePretrainedNetwork.

Esta tabla muestra algunos usos habituales de la función darknet53 y cómo actualizar el código para usar la función imagePretrainedNetwork en su lugar.

No recomendadoRecomendado
net = darknet53;[net,classNames] = imagePretrainedNetwork("darknet53");
net = darknet53(Weights="none");net = imagePretrainedNetwork("darknet53",Weights="none");

La función imagePretrainedNetwork devuelve un objeto dlnetwork, que también tiene estas ventajas:

  • Los objetos dlnetwork son un tipo de datos unificado que admite la creación de redes, la predicción, el entrenamiento integrado, la visualización, la compresión, la verificación y los bucles de entrenamiento personalizados.

  • Los objetos dlnetwork admiten una gama más amplia de arquitecturas de red que puede crear o importar desde plataformas externas.

  • La función trainnet admite objetos dlnetwork, lo que le permite especificar fácilmente funciones de pérdida. Puede seleccionar entre funciones de pérdida integradas o especificar una función de pérdida personalizada.

  • Entrenar y predecir con los objetos dlnetwork suele ser más rápido que los flujos de trabajo LayerGraph y trainNetwork.

Para entrenar una red neuronal especificada como un objeto dlnetwork, utilice la función trainnet.