DarkNet-53 convolutional neural network
Since R2020a
collapse all in page
Syntax
net = darknet53
net = darknet53('Weights','imagenet')
lgraph = darknet53('Weights','none')
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]. The pretrained network can classify images into 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®, see Pretrained Deep Neural Networks.
You can use classify to classify new images using the DarkNet-53 model. Follow the steps of Classify Image Using GoogLeNet and replace GoogLeNet with DarkNet-53.
To retrain the network on a new classification task, follow the steps of Train Deep Learning Network to Classify New Images and 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, see Object 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 = darknet53
returns a DarkNet-53 network trained on the ImageNet data set.
This function requires the Deep Learning Toolbox™ Model for DarkNet-53 Network support package. If this support package is not installed, then the function provides a download link.
net = darknet53('Weights',
returns a DarkNet-53 network trained on the ImageNet data set. This syntax is equivalent to 'imagenet'
)net = darknet53
.
lgraph = darknet53('Weights',
returns the untrained DarkNet-53 network architecture. The untrained model does not require the support package. 'none'
)
Examples
collapse all
Download DarkNet-53 Support Package
Download and install the Deep Learning Toolbox Model for DarkNet-53 Network support package.
Type darknet53
at the command line.
darknet53
If the Deep Learning Toolbox Model for DarkNet-53 Network support 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 click Install. Check that the installation is successful by typing darknet53
at the command line. If the required support package is installed, then the function returns a DAGNetwork object.
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 neural networks in Deep Network Designer by clicking New.
If you need to download a neural network, pause on the desired neural network and click Install to open the Add-On Explorer.
Transfer Learning with DarkNet-53
You can use transfer learning to retrain the network to classify a new set of images.
Open the example Train 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
net
— Pretrained DarkNet-53 convolutional network
DAGNetwork
Pretrained DarkNet-53 convolutional neural network, returned as a DAGNetwork object.
lgraph
— Untrained DarkNet-53 convolutional neural network architecture
LayerGraph
object
Untrained DarkNet-53 convolutional neural network architecture, returned as a LayerGraph object.
References
[1] ImageNet. http://www.image-net.org
[2] Redmon, Joseph. “Darknet: Open Source Neural Networks in C.” https://pjreddie.com/darknet.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
For code generation, you can load the network by using the syntax net = darknet53
or by passing the darknet53
function to coder.loadDeepLearningNetwork (MATLAB Coder). For example: net = coder.loadDeepLearningNetwork('darknet53')
The syntax darknet53('Weights','none')
is not supported for code generation.
GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.
Usage notes and limitations:
For code generation, you can load the network by using the syntax
net = darknet53
or by passing thedarknet53
function to coder.loadDeepLearningNetwork (GPU Coder). For example:net = coder.loadDeepLearningNetwork('darknet53')
.For more information, see Load Pretrained Networks for Code Generation (GPU Coder).
The syntax
darknet53('Weights','none')
is not supported for GPU code generation.
Version History
Introduced in R2020a
See Also
Deep Network Designer | vgg16 | vgg19 | googlenet | darknet19 | trainNetwork | DAGNetwork | layerGraph | resnet50 | resnet101 | inceptionresnetv2 | squeezenet | densenet201 | nasnetmobile | nasnetlarge
Topics
- Transfer Learning with Deep Network Designer
- Deep Learning in MATLAB
- Pretrained Deep Neural Networks
- Classify Image Using GoogLeNet
- Train Deep Learning Network to Classify New Images
- Train Residual Network for Image Classification
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom (English)
Contact your local office