--- library_name: keras-hub license: bsd-3-clause tags: - image-classification - keras pipeline_tag: image-classification --- ### Model Overview DenseNet is a convolution network which densely connects each layer to every other layer in a feed-forward fashion. The model was originally evaluated on four object recognition benchmark tasks (CIFAR-10, CIFAR-100, SVHN, and ImageNet). See the model card below for benchmarks, data sources, and intended use cases. This model is supported in both KerasCV and KerasHub. KerasCV will no longer be actively developed, so please try to use KerasHub. Weights are released under the [3-Clause BSD License](https://github.com/liuzhuang13/DenseNet/blob/master/LICENSE). Keras model code is released under the [Apache 2 License](https://github.com/keras-team/keras-hub/blob/master/LICENSE). ## Links * [DenseNet Quickstart Notebook: coming soon]() * [DenseNet API Documentation](https://keras.io/api/keras_hub/models/densnet/) * [DenseNet Model Card](https://github.com/liuzhuang13/DenseNet) ## Installation Keras and KerasHub can be installed with: ``` pip install -U -q keras-hub pip install -U -q keras>=3 ``` Jax, TensorFlow, and Torch come preinstalled in Kaggle Notebooks. For instructions on installing them in another environment see the [Keras Getting Started](https://keras.io/getting_started/) page. ## Presets The following model checkpoints are provided by the Keras team. Weights have been ported from: https://huggingface.co/timm. Full code examples for each are available below. | Preset name | Parameters | Description | |-----------------------|------------|---------------| | `densenet_121_imagenet` | 7037504 | DenseNet model with 121 layers. Trained on Imagenet 2012 classification task. | | `densenet_169_imagenet` | 12642880 | DenseNet model with 169 layers. Trained on Imagenet 2012 classification task. | | `densenet_201_imagenet` | 18321984 | DenseNet model with 201 layers. Trained on Imagenet 2012 classification task. | ## Example Usage ```python input_data = np.ones(shape=(8, 224, 224, 3)) # Pretrained backbone model = keras_hub.models.DenseNetBackbone.from_preset("densenet_201_imagenet") model(input_data) # Randomly initialized backbone with a custom config model = keras_hub.models.DenseNetBackbone( stackwise_num_repeats=[6, 12, 24, 16], ) model(input_data) # Use densenet for image classification task model = keras_hub.models.ImageClassifier.from_preset("densenet_201_imagenet") # User Timm presets directly from HuggingFace model = keras_hub.models.ImageClassifier.from_preset('hf://timm/densenet121.tv_in1k') ``` ## Example Usage with Hugging Face URI ```python input_data = np.ones(shape=(8, 224, 224, 3)) # Pretrained backbone model = keras_hub.models.DenseNetBackbone.from_preset("hf://keras/densenet_201_imagenet") model(input_data) # Randomly initialized backbone with a custom config model = keras_hub.models.DenseNetBackbone( stackwise_num_repeats=[6, 12, 24, 16], ) model(input_data) # Use densenet for image classification task model = keras_hub.models.ImageClassifier.from_preset("hf://keras/densenet_201_imagenet") # User Timm presets directly from HuggingFace model = keras_hub.models.ImageClassifier.from_preset('hf://timm/densenet121.tv_in1k') ```