File size: 4,547 Bytes
76e61d9 5d3dd71 3c06824 76e61d9 5ee4a52 d748c1c a9161a9 d748c1c 1f7fbec d748c1c c4549b4 d748c1c c4549b4 d748c1c c4549b4 d748c1c c4549b4 d748c1c 5ee4a52 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
---
library_name: keras-hub
license: apache-2.0
tags:
- image-classification
pipeline_tag: image-classification
---
### Model Overview
Instantiates the ResNetV2 architecture. This model is supported in both KerasCV and KerasHub. KerasCV will no longer be actively developed, so please try to use KerasHub.
**Reference**
- [Identity Mappings in Deep Residual Networks](https://arxiv.org/abs/1603.05027) (ECCV 2016)
The difference in Resnet and ResNetV2 rests in the structure of their
individual building blocks. In ResNetV2, the batch normalization and
ReLU activation precede the convolution layers, as opposed to ResNetV1 where
the batch normalization and ReLU activation are applied after the
convolution layers.
For transfer learning use cases, make sure to read the
[guide to transfer learning & fine-tuning](https://keras.io/guides/transfer_learning/).
## Links
* [ResNetV2 Quickstart Notebook](https://www.kaggle.com/code/prasadsachin/resnetv2-quickstart-kerashub)
* [ResNetV2 API Documentation](https://keras.io/keras_hub/api/models/resnet/)
* [KerasHub Beginner Guide](https://keras.io/guides/keras_hub/getting_started/)
* [KerasHub Model Publishing Guide](https://keras.io/guides/keras_hub/upload/)
## Installation
Keras and KerasHub can be installed with:
```
pip install -U -q keras-hub
pip install -U -q keras
```
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 |
|------------------------------------|------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| resnet_v2_50_imagenet | 23.56M | 50-layer ResNetV2 model pre-trained on the ImageNet 1k dataset at a 224x224 resolution. |
| resnet_v2_101_imagenet | 42.61M | 101-layer ResNetV2 model pre-trained on the ImageNet 1k dataset at a 224x224 resolution. |
## Example Usage
```python
# Pretrained ResNet backbone.
model = keras_hub.models.ResNetBackbone.from_preset("resnet_v2_50_imagenet")
input_data = np.random.uniform(0, 1, size=(2, 224, 224, 3))
model(input_data)
# Randomly initialized ResNetV2 backbone with a custom config.
model = keras_hub.models.ResNetBackbone(
input_conv_filters=[64],
input_conv_kernel_sizes=[7],
stackwise_num_filters=[64, 64, 64],
stackwise_num_blocks=[2, 2, 2],
stackwise_num_strides=[1, 2, 2],
block_type="basic_block",
use_pre_activation=True,
)
model(input_data)
# Use resnet for image classification task
model = keras_hub.models.ImageClassifier.from_preset("resnet_v2_50_imagenet")
# User timm presets directly from hugingface
model = keras_hub.models.ImageClassifier.from_preset('hf://timm/resnetv2_101.a1h_in1k')
```
## Example Usage with Hugging Face URI
```python
# Pretrained ResNet backbone.
model = keras_hub.models.ResNetBackbone.from_preset("hf://keras/resnet_v2_50_imagenet")
input_data = np.random.uniform(0, 1, size=(2, 224, 224, 3))
model(input_data)
# Randomly initialized ResNetV2 backbone with a custom config.
model = keras_hub.models.ResNetBackbone(
input_conv_filters=[64],
input_conv_kernel_sizes=[7],
stackwise_num_filters=[64, 64, 64],
stackwise_num_blocks=[2, 2, 2],
stackwise_num_strides=[1, 2, 2],
block_type="basic_block",
use_pre_activation=True,
)
model(input_data)
# Use resnet for image classification task
model = keras_hub.models.ImageClassifier.from_preset("hf://keras/resnet_v2_50_imagenet")
# User timm presets directly from hugingface
model = keras_hub.models.ImageClassifier.from_preset('hf://timm/resnetv2_101.a1h_in1k')
```
|