Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/titu1994/Keras-DualPathNetworks
Dual Path Networks for Keras 2.0+
https://github.com/titu1994/Keras-DualPathNetworks
deep-learning dpn dual-path-networks keras tensorflow
Last synced: 3 days ago
JSON representation
Dual Path Networks for Keras 2.0+
- Host: GitHub
- URL: https://github.com/titu1994/Keras-DualPathNetworks
- Owner: titu1994
- License: apache-2.0
- Created: 2017-08-08T22:17:33.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-02-09T15:54:15.000Z (over 4 years ago)
- Last Synced: 2024-10-27T12:31:02.482Z (7 days ago)
- Topics: deep-learning, dpn, dual-path-networks, keras, tensorflow
- Language: Python
- Size: 417 KB
- Stars: 114
- Watchers: 10
- Forks: 52
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-image-classification - unoffical-keras : https://github.com/titu1994/Keras-DualPathNetworks
- awesome-image-classification - unoffical-keras : https://github.com/titu1994/Keras-DualPathNetworks
README
# Dual Path Networks in Keras
[Dual Path Networks](https://arxiv.org/abs/1707.01629) are highly efficient networks which combine the strength of both ResNeXt [Aggregated Residual Transformations for Deep Neural Networks](https://arxiv.org/abs/1611.05431) and DenseNets [Densely Connected Convolutional Networks](https://arxiv.org/abs/1608.06993).Note: Weights have not been ported over yet.
## Dual Path Connections
## Usage
Several of the standard Dual Path Network models have been included. They can be initialized as :
```
from dual_path_network import DPN92, DPN98, DPN107, DPN137model = DPN92(input_shape=(224, 224, 3)) # same for the others
```To create a custom DualPathNetwork, use the DualPathNetwork builder method :
```
from dual_path_network import DualPathNetworkmodel = DualPathNetwork(input_shape=(224, 224, 3),
initial_conv_filters=64,
depth=[3, 4, 20, 3],
filter_increment=[16, 32, 24, 128],
cardinality=32,
width=3,
weight_decay=0,
include_top=True,
weights=None,
input_tensor=None,
pooling=None,
classes=1000)
```## Performance
## Support
- Keras does not have inbuilt support for grouped convolutions. Therefore I had to use lambda layers to match the ResNeXt paper implementation. When grouped convolution support is added, I hope to add it in this as well.
- Mean-Max Global Pooling support is present with the help of Lambda layer to scale the sum.
- Depth and Filter_Increment must be lists for now, and must be lists of same length. Will think about adding support for integers, but I think list support is far more useful anyway, so I may not implement it.
- Weight decay support is added, but disabled by default. The DPN paper does not mention it, but ResNet, WRN and ResNeXt paper may all use small weight regularization. Use a small value of `1e-4` or `5e-4` if you wish to use it.