Apply Prune function on CNN
3 次查看(过去 30 天)
显示 更早的评论
when pruning is applied to Alexnet, ML returns: "Undefined function 'prune' for input arguments of type 'SeriesNetwork'!" could you please explain how to apply "prune" function to CNN?
2 个评论
回答(1 个)
Maksym Tymchenko
2023-7-21
In MATLAB, you can compress deep neural networks by using the Deep Learning Model Quantization Library, which is a free Add-On to the Deep Learning Toolbox.
This library contains a set of different functions that allow you to compress your deep learning network.
You mentioned pruning, this is a type of structural compression where the least important weights in the network are discarded making the network smaller. The "prune" function that you mentioned only accepts "shallow neural networks" as input. That is the reason why it did not work on AlexNet. If you want to perform structural compression on a deep neural network like Alexnet, you can use either:
- The taylorPrunableNetwork function which enables you to prune convolutional filters in network.
- The compressNetworkUsingProjection function which uses a MathWorks patented algorithm to analyze the activations of each layer using principal component analysis and reduce the size of the weights using projection.
Both of these functions work only on dlnetwork objects, so you might need to convert your network to that form in order to use them. For an example of how to prune convolutional filters in a CNN see:
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!