Main Content

darknet53

DarkNet-53 convolutional neural network

  • DarkNet-53 network architecture

Description

DarkNet-53 is a convolutional neural network that is 53 layers deep. You can load a pretrained version of the network trained on more than a million images from the ImageNet database[1]。pretrained网络可以分类图像1000 object categories, such as keyboard, mouse, pencil, and many animals. As a result, the network has learned rich feature representations for a wide range of images. The network has an image input size of 256-by-256. For more pretrained networks in MATLAB®, seePretrained Deep Neural Networks

You can useclassifyto classify new images using the DarkNet-53 model. Follow the steps ofClassify Image Using GoogLeNetand replace GoogLeNet with DarkNet-53.

To retrain the network on a new classification task, follow the steps ofTrain Deep Learning Network to Classify New Imagesand load DarkNet-53 instead of GoogLeNet.

DarkNet-53 is often used as the foundation for object detection problems and YOLO workflows[2]。For an example of how to train a you only look once (YOLO) v2 object detector, seeObject Detection Using YOLO v2 Deep Learning。This example uses ResNet-50 for feature extraction. You can also use other pretrained networks such as DarkNet-19, DarkNet-53, MobileNet-v2, or ResNet-18 depending on application requirements.

example

net= darknet53returns a DarkNet-53 network trained on the ImageNet data set.

This function requires the Deep Learning Toolbox™ Modelfor DarkNet-53 Networksupport package. If this support package is not installed, then the function provides a download link.

net= darknet53('Weights','imagenet')returns a DarkNet-53 network trained on the ImageNet data set. This syntax is equivalent tonet = darknet53

lgraph= darknet53('Weights','none')returns the untrained DarkNet-53 network architecture. The untrained model does not require the support package.

Examples

collapse all

Download and install the Deep Learning Toolbox Modelfor DarkNet-53 Networksupport package.

Typedarknet53at the command line.

darknet53

If the Deep Learning Toolbox Modelfor DarkNet-53 Networksupport package is not installed, then the function provides a link to the required support package in the Add-On Explorer. To install the support package, click the link, and then clickInstall。Check that the installation is successful by typingdarknet53at the command line. If the required support package is installed, then the function returns aDAGNetworkobject.

darknet53
ans = DAGNetwork with properties: Layers: [184×1 nnet.cnn.layer.Layer] Connections: [206×2 table] InputNames: {'input'} OutputNames: {'output'}

Visualize the network using Deep Network Designer.

deepNetworkDesigner(darknet53)

Explore other pretrained networks in Deep Network Designer by clickingNew

Deep Network Designer start page showing available pretrained networks

If you need to download a network, pause on the desired network and clickInstallto open the Add-On Explorer.

You can use transfer learning to retrain the network to classify a new set of images.

Open the exampleTrain Deep Learning Network to Classify New Images。The original example uses the GoogLeNet pretrained network. To perform transfer learning using a different network, load your desired pretrained network and follow the steps in the example.

Load the DarkNet-53 network instead of GoogLeNet.

net = darknet53

Follow the remaining steps in the example to retrain your network. You must replace the last learnable layer and the classification layer in your network with new layers for training. The example shows you how to find which layers to replace.

Output Arguments

collapse all

Pretrained DarkNet-53 convolutional neural network, returned as aDAGNetworkobject.

Untrained DarkNet-53 convolutional neural network architecture, returned as aLayerGraphobject.

References

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

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

Extended Capabilities

Introduced in R2020a