Image Classification Models
Here we list all the ML models presented in the cucaracha library for the image classification task.
Model: Small Xception
Bases: ModelArchitect
SmallXception is a custom model architecture for image classification tasks, inheriting from the ModelArchitect base class. This model is a smaller version of the Xception architecture, designed to be lightweight and efficient for smaller datasets or less computationally intensive tasks.
Attributes:
| Name | Type | Description |
|---|---|---|
img_shape |
tuple
|
The shape of the input images (height, width). |
num_classes |
int
|
The number of output classes for classification. |
Methods:
| Name | Description |
|---|---|
get_model |
Builds and returns the Keras model based on the SmallXception architecture. |
__str__ |
Returns a string representation of the model, including a summary of the model architecture with trainable parameters. |
Source code in cucaracha/ml_models/image_classification/small_xception.py
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 | |
Model: Alex Net
Bases: ModelArchitect
AlexNet is a custom model architecture for image classification tasks, inheriting from the ModelArchitect base class. This model is based on the original AlexNet architecture, designed to handle large-scale image classification tasks with high computational efficiency.
Reference
Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet Classification with Deep Convolutional Neural Networks. Advances in Neural Information Processing Systems, 25, 1097-1105.
Attributes:
| Name | Type | Description |
|---|---|---|
img_shape |
tuple
|
The shape of the input images (height, width). |
num_classes |
int
|
The number of output classes for classification. |
Methods:
| Name | Description |
|---|---|
get_model |
Builds and returns the Keras model based on the AlexNet architecture. |
__str__ |
Returns a string representation of the model, including a summary of the model architecture with trainable parameters. |
Source code in cucaracha/ml_models/image_classification/alex_net.py
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 | |
Model: Dense Net 121
Bases: ModelArchitect
DenseNet121 is a custom model architecture for image classification tasks, inheriting from the ModelArchitect base class. This model is based on the DenseNet121 architecture, designed to handle large-scale image classification tasks with high computational efficiency.
Reference
Huang, G., Liu, Z., Van Der Maaten, L., & Weinberger, K. Q. (2017). Densely Connected Convolutional Networks. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2261-2269.
Attributes:
| Name | Type | Description |
|---|---|---|
img_shape |
tuple
|
The shape of the input images (height, width). |
num_classes |
int
|
The number of output classes for classification. |
Methods:
| Name | Description |
|---|---|
get_model |
Builds and returns the Keras model based on the DenseNet121 architecture. |
__str__ |
Returns a string representation of the model, including a summary of the model architecture with trainable parameters. |
Source code in cucaracha/ml_models/image_classification/dense_net_121.py
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 | |
Model: GoogleLeNet
Bases: ModelArchitect
GoogleLeNet is a custom model architecture for image classification tasks, inheriting from the ModelArchitect base class. This model is based on the GoogleLeNet (Inception v1) architecture, designed to handle large-scale image classification tasks with high computational efficiency.
Reference
Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., ... & Rabinovich, A. (2015). Going deeper with convolutions. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 1-9.
Attributes:
| Name | Type | Description |
|---|---|---|
img_shape |
tuple
|
The shape of the input images (height, width). |
num_classes |
int
|
The number of output classes for classification. |
Methods:
| Name | Description |
|---|---|
get_model |
Builds and returns the Keras model based on the GoogleLeNet architecture. |
__str__ |
Returns a string representation of the model, including a summary of the model architecture with trainable parameters. |
Source code in cucaracha/ml_models/image_classification/google_le_net.py
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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | |
Model: Model Soup
Bases: ModelArchitect
ModelSoup is a custom model architecture for image classification tasks, inheriting from the ModelArchitect base class. This model is based on the ResNet50 architecture, designed to handle large-scale image classification tasks with high computational efficiency.
Reference
He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 770-778.
Attributes:
| Name | Type | Description |
|---|---|---|
img_shape |
tuple
|
The shape of the input images (height, width). |
num_classes |
int
|
The number of output classes for classification. |
Methods:
| Name | Description |
|---|---|
get_model |
Builds and returns the Keras model based on the ResNet50 architecture, as created by the Model Soup. |
__str__ |
Returns a string representation of the model, including a summary of the model architecture with trainable parameters. |
Source code in cucaracha/ml_models/image_classification/model_soup.py
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 | |
Model: Res Net 50
Bases: ModelArchitect
ResNet50 is a custom model architecture for image classification tasks, inheriting from the ModelArchitect base class. This model is based on the ResNet50 architecture, designed to handle large-scale image classification tasks with high accuracy and efficiency.
Reference
He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 770-778.
Attributes:
| Name | Type | Description |
|---|---|---|
img_shape |
tuple
|
The shape of the input images (height, width). |
num_classes |
int
|
The number of output classes for classification. |
Methods:
| Name | Description |
|---|---|
get_model |
Builds and returns the Keras model based on the ResNet50 architecture. |
__str__ |
Returns a string representation of the model, including a summary of the model architecture with trainable parameters. |
Source code in cucaracha/ml_models/image_classification/res_net_50.py
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 | |