MATLAB Deep Learning Model Hub: a catalogue of pretrained networks, not a toolbox
Discover pretrained models for deep learning in MATLAB
At a glance
- What is it?
- This repository is an index of pretrained models that ship with MATLAB and its support packages, grouped by task from image classification to lidar and manipulator motion planning. Its value is the inventory and the version notes; its limitation is that almost nothing is hosted here.
- Who is it for?
- Adopt this repository as a lookup table if you already run MATLAB with Deep Learning Toolbox and need to know which pretrained network fits a task and which release introduced it. Do not adopt it if you are working outside MATLAB, or if you need a model that is not already distributed through MathWorks support packages, because the hub itself does not ship weights.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 146 days ago.
- What is it written in?
- Mainly MATLAB, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
A README that indexes models rather than containing them
The repository describes itself in one line: discover pretrained models for deep learning in MATLAB. That is the whole promise, and it is worth taking literally. The README is organised as a list of task categories under Models, split into Computer Vision, Natural Language Processing, Audio, Lidar, and Robotics. Each category links to an anchor further down the page where the actual tables live. Under Computer Vision alone there are nine entries: image classification, object detection, semantic segmentation, instance segmentation, image translation, pose estimation, 3D reconstruction, video classification, and text detection and recognition. NLP has one entry, Transformers. Audio has four: audio embeddings, sound classification, pitch estimation, and speech to text. Lidar has three: point cloud classification, point cloud segmentation, and point cloud object detection. Robotics has two: manipulator motion planning, and path planning with motion planning networks. The structure tells you what the maintainers think MATLAB users actually do with pretrained networks, and the distribution is lopsided. Vision dominates. Text is a single line item. If your problem is language, this catalogue has almost nothing to offer you.
The image classification table is the only fully specified section
The image classification section is where the README does real work. It states that the networks were trained on more than a million images and classify into 1000 object categories, with RGB images as input and a predicted label plus score as output. Then it gives a table with four columns: network, size in megabytes, number of classes, and accuracy percentage, plus links to documentation and in some cases a GitHub repository. The numbers are concrete. googlenet is 27 MB with 66.25 percent accuracy. squeezenet is 5.2 MB at 55.16. alexnet is 227 MB at 54.10. resnet18 is 44 MB at 69.49, resnet50 is 96 MB at 74.46, resnet101 is 167 MB at 75.96. mobilenetv2 is 13 MB at 70.44. vgg16 is 515 MB at 70.29 and vgg19 is 535 MB at 70.42. inceptionv3 is 89 MB at 77.07, inceptionresnetv2 is 209 MB at 79.62, xception is 85 MB at 78.20. darknet19 is 78 MB at 74.00, darknet53 is 155 MB at 76.46, densenet201 is 77 MB at 75.85, shufflenet is 5.4 MB at 63.73, nasnetmobile is 20 MB at 73.41. The spread is the useful part. A 5.2 MB squeezenet and a 535 MB vgg19 sit in the same list with a 24-point accuracy gap between them, which is exactly the trade-off an engineer needs to see before committing to a download and a memory budget. The README does not explain how accuracy was measured, and it does not say which dataset the figure refers to beyond the general statement about a million images. Treat the column as a relative ordering, not an absolute benchmark.
imagePretrainedNetwork replaced the per-network loading functions in R2024a
The most consequential line in the README is a note, not a table entry. It reads: since R2024a, please use the imagePretrainedNetwork function instead and specify the pretrained model. The example given is two lines of MATLAB: a call to imagePretrainedNetwork with the string "googlenet", returning net and classes. Before R2024a, the pattern implied by the table is that each network had its own entry point, which is why the table links to pages such as googlenet, resnet50, and mobilenetv2 individually. The new function collapses that into one name-and-string interface, and the second output argument classes saves you from having to look up the label ordering separately. If you are on R2023a or earlier, the example in the README will not run, and you need the older per-network call instead. The README does not spell out the old syntax in the section shown here, so you would be working from the individual documentation pages linked in the Location column. This is the kind of version boundary that costs an afternoon if you discover it after writing a script against the wrong release.
Release numbering tracks MATLAB versions, not semantic versioning
The release history makes the versioning scheme explicit. Version 1.0.1 is tagged R2022a and was published in March 2022. Version 1.0.2 is tagged R2023a and appeared in May 2023. Version 1.0.3 is tagged R2024a and landed in March 2024. Each release corresponds to a MATLAB release cycle, and the patch digit increments by one per cycle rather than reflecting the scale of change. That has a practical consequence: you cannot infer from 1.0.2 to 1.0.3 whether the change was a typo fix or a new model category. The tags tell you which MATLAB release the catalogue was written against, which is more useful than a semantic version would be for this kind of content. It also means the repository's usefulness is tied to your MATLAB installation. If you are on R2021b, none of these three releases describes your environment, and the imagePretrainedNetwork note certainly does not apply. The last push timestamp in the repository metadata is well ahead of the 1.0.3 release date, which suggests the README is edited between tagged releases, but the tags remain the only reliable markers of what changed when.
The licence field is unresolved and the weights are not here
The repository metadata reports the licence as NOASSERTION, which means the automated classifier could not match the licence file to a known identifier. That is not the same as having no licence, and it is not the same as having a permissive one. It means you cannot determine the terms from the metadata alone. The README itself does not contain a licence section in the material available here. Separately, and more importantly for day-to-day use, the models are not distributed through this repository. The image classification table points to MathWorks documentation pages and, for some networks, to separate GitHub repositories such as googlenet, resnet-18, resnet-50, resnet-101, mobilenet-v2. Downloading a network means fetching it through MATLAB's support package mechanism or one of those linked repositories, not cloning this hub. The hub is a map. The map has a licence question attached to it, and the territory has its own terms. Before shipping anything built on one of these networks, check the licence on the specific network repository or documentation page, not on this index.
Where the catalogue stops being the right tool
Two failure modes are visible from the material alone. First, the depth is uneven. Image classification gets a table with sizes and accuracies. Everything else gets an anchor link and whatever content sits under it, which the supplied README does not show in comparable detail. If your task is lidar point cloud segmentation or manipulator motion planning, you are relying on the linked documentation rather than on anything this repository states. Second, the coverage is bounded by what MathWorks ships. There is no mechanism described here for contributing an arbitrary third-party model. A network that exists in PyTorch and has no MATLAB conversion is simply absent, and the Transformers entry under NLP is a single line, which is thin for anyone whose work involves text. For that kind of work, Hugging Face Transformers is the obvious alternative, and the difference is structural rather than a matter of degree. Hugging Face hosts the weights, the tokenizers, and the model cards in one place, and you can pull a model by name into Python and run it. This hub indexes weights that live elsewhere and are loaded through MATLAB functions. If your pipeline is Python, nothing here helps you. If your pipeline is MATLAB and your task is vision, this is a short path to a working network.
What to check before you build on it
Confirm your MATLAB release first, because the loading interface changed at R2024a. If you are on R2024a or later, the README's example is the one to follow: call imagePretrainedNetwork with the model name as a string and take both outputs. If you are earlier, use the per-network function named in the table row. Second, decide whether you need the accuracy or the size more. The table gives you both, and the range is wide enough that the choice matters: squeezenet at 5.2 MB and 55.16 percent is a different engineering decision from inceptionresnetv2 at 209 MB and 79.62 percent. Third, read the licence on the specific network you pick, since the hub's own licence metadata is unresolved and the weights come from elsewhere. The repository is maintained, the release tags are consistent with MATLAB cycles, and the task taxonomy is broad. It is also shallow outside computer vision and dependent on MathWorks distribution channels. That combination suits a team already inside the MATLAB ecosystem looking for a starting point for transfer learning, and it does not suit anyone who needs a model that MathWorks does not ship.
Editorial conclusion
Adopt this repository as a lookup table if you already run MATLAB with Deep Learning Toolbox and need to know which pretrained network fits a task and which release introduced it. Do not adopt it if you are working outside MATLAB, or if you need a model that is not already distributed through MathWorks support packages, because the hub itself does not ship weights. Verify two things first: that imagePretrainedNetwork exists in your MATLAB release, and that the specific network name you intend to call is listed for that release in the tables.
Community notes