Skip to content

Commit c44de4b

Browse files
author
miguelCalado
committed
Changed PR folders
1 parent 011a580 commit c44de4b

File tree

10 files changed

+45
-37
lines changed

10 files changed

+45
-37
lines changed

official/legacy/image_classification/classifier_trainer.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,15 @@
3636
from official.modeling import performance
3737
from official.utils import hyperparams_flags
3838
from official.utils.misc import keras_utils
39+
from official.vision.image_classification.vgg16 import vgg_model
3940

4041

4142
def get_models() -> Mapping[str, tf.keras.Model]:
4243
"""Returns the mapping from model type name to Keras model."""
4344
return {
4445
'efficientnet': efficientnet_model.EfficientNet.from_name,
4546
'resnet': resnet_model.resnet50,
47+
'vgg': vgg_model.vgg16,
4648
}
4749

4850

official/legacy/image_classification/classifier_trainer_test.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ def distribution_strategy_combinations() -> Iterable[Tuple[Any, ...]]:
5353
model=[
5454
'efficientnet',
5555
'resnet',
56+
'vgg',
5657
],
5758
dataset=[
5859
'imagenet',
@@ -149,6 +150,7 @@ def test_end_to_end_train_and_eval(self, distribution, model, dataset):
149150
model=[
150151
'efficientnet',
151152
'resnet',
153+
'vgg',
152154
],
153155
dataset='imagenet',
154156
dtype='float16',
@@ -193,6 +195,7 @@ def test_gpu_train(self, distribution, model, dataset, dtype):
193195
model=[
194196
'efficientnet',
195197
'resnet',
198+
'vgg',
196199
],
197200
dataset='imagenet',
198201
dtype='bfloat16',

official/legacy/image_classification/configs/configs.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from official.legacy.image_classification.configs import base_configs
2525
from official.legacy.image_classification.efficientnet import efficientnet_config
2626
from official.legacy.image_classification.resnet import resnet_config
27+
from official.vision.image_classification.vgg16 import vgg_config
2728

2829

2930
@dataclasses.dataclass
@@ -92,12 +93,44 @@ class ResNetImagenetConfig(base_configs.ExperimentConfig):
9293
model: base_configs.ModelConfig = resnet_config.ResNetModelConfig()
9394

9495

96+
@dataclasses.dataclass
97+
class VGGImagenetConfig(base_configs.ExperimentConfig):
98+
"""Base configuration to train vgg-16 on ImageNet."""
99+
export: base_configs.ExportConfig = base_configs.ExportConfig()
100+
runtime: base_configs.RuntimeConfig = base_configs.RuntimeConfig()
101+
train_dataset: dataset_factory.DatasetConfig = \
102+
dataset_factory.ImageNetConfig(split='train',
103+
one_hot=False,
104+
mean_subtract=True,
105+
standardize=True)
106+
validation_dataset: dataset_factory.DatasetConfig = \
107+
dataset_factory.ImageNetConfig(split='validation',
108+
one_hot=False,
109+
mean_subtract=True,
110+
standardize=True)
111+
train: base_configs.TrainConfig = base_configs.TrainConfig(
112+
resume_checkpoint=True,
113+
epochs=90,
114+
steps=None,
115+
callbacks=base_configs.CallbacksConfig(
116+
enable_checkpoint_and_export=True, enable_tensorboard=True),
117+
metrics=['accuracy', 'top_5'],
118+
time_history=base_configs.TimeHistoryConfig(log_steps=100),
119+
tensorboard=base_configs.TensorBoardConfig(
120+
track_lr=True, write_model_weights=False),
121+
set_epoch_loop=False)
122+
evaluation: base_configs.EvalConfig = base_configs.EvalConfig(
123+
epochs_between_evals=1, steps=None)
124+
model: base_configs.ModelConfig = vgg_config.VGGModelConfig()
125+
126+
95127
def get_config(model: str, dataset: str) -> base_configs.ExperimentConfig:
96128
"""Given model and dataset names, return the ExperimentConfig."""
97129
dataset_model_config_map = {
98130
'imagenet': {
99131
'efficientnet': EfficientNetImageNetConfig(),
100132
'resnet': ResNetImagenetConfig(),
133+
'vgg': VGGImagenetConfig(),
101134
}
102135
}
103136
try:

official/vision/image_classification/vgg16/vgg_config.py renamed to official/legacy/image_classification/vgg16/vgg_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,5 @@ class VGGModelConfig(base_configs.ModelConfig):
4949
examples_per_epoch=1281167,
5050
boundaries=[30, 60],
5151
warmup_epochs=0,
52-
scale_by_batch_size=1. / 128.,
52+
scale_by_batch_size=1. / 256.,
5353
multipliers=[0.01 / 256, 0.001 / 256, 0.0001 / 256]))

official/vision/image_classification/vgg16/vgg_model.py renamed to official/legacy/image_classification/vgg16/vgg_model.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,17 +174,23 @@ def vgg16(num_classes,
174174

175175
x = layers.Flatten(name='flatten')(x)
176176
x = layers.Dense(4096,
177+
#kernel_initializer=tf.initializers.random_normal(stddev=0.01),
177178
kernel_regularizer=_gen_l2_regularizer(use_l2_regularizer),
179+
#bias_regularizer=_gen_l2_regularizer(use_l2_regularizer),
178180
name='fc1')(x)
179181
x = layers.Activation('relu')(x)
180182
x = layers.Dropout(0.5)(x)
181183
x = layers.Dense(4096,
184+
#kernel_initializer=tf.initializers.random_normal(stddev=0.01),
182185
kernel_regularizer=_gen_l2_regularizer(use_l2_regularizer),
186+
#bias_regularizer=_gen_l2_regularizer(use_l2_regularizer),
183187
name='fc2')(x)
184188
x = layers.Activation('relu')(x)
185189
x = layers.Dropout(0.5)(x)
186190
x = layers.Dense(num_classes,
191+
#kernel_initializer=tf.initializers.random_normal(stddev=0.01),
187192
kernel_regularizer=_gen_l2_regularizer(use_l2_regularizer),
193+
#bias_regularizer=_gen_l2_regularizer(use_l2_regularizer),
188194
name='fc1000')(x)
189195

190196
# A softmax that is followed by the model loss must be done cannot be done

official/vision/image_classification/classifier_trainer.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,13 @@
3636
from official.vision.image_classification.efficientnet import efficientnet_model
3737
from official.vision.image_classification.resnet import common
3838
from official.vision.image_classification.resnet import resnet_model
39-
from official.vision.image_classification.vgg16 import vgg_model
4039

4140

4241
def get_models() -> Mapping[str, tf.keras.Model]:
4342
"""Returns the mapping from model type name to Keras model."""
4443
return {
4544
'efficientnet': efficientnet_model.EfficientNet.from_name,
4645
'resnet': resnet_model.resnet50,
47-
'vgg': vgg_model.vgg16,
4846
}
4947

5048

official/vision/image_classification/classifier_trainer_test.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ def distribution_strategy_combinations() -> Iterable[Tuple[Any, ...]]:
5353
model=[
5454
'efficientnet',
5555
'resnet',
56-
'vgg',
5756
],
5857
dataset=[
5958
'imagenet',
@@ -150,7 +149,6 @@ def test_end_to_end_train_and_eval(self, distribution, model, dataset):
150149
model=[
151150
'efficientnet',
152151
'resnet',
153-
'vgg',
154152
],
155153
dataset='imagenet',
156154
dtype='float16',
@@ -195,7 +193,6 @@ def test_gpu_train(self, distribution, model, dataset, dtype):
195193
model=[
196194
'efficientnet',
197195
'resnet',
198-
'vgg',
199196
],
200197
dataset='imagenet',
201198
dtype='bfloat16',

official/vision/image_classification/configs/configs.py

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -91,44 +91,13 @@ class ResNetImagenetConfig(base_configs.ExperimentConfig):
9191
epochs_between_evals=1, steps=None)
9292
model: base_configs.ModelConfig = resnet_config.ResNetModelConfig()
9393

94-
@dataclasses.dataclass
95-
class VGGImagenetConfig(base_configs.ExperimentConfig):
96-
"""Base configuration to train vgg-16 on ImageNet."""
97-
export: base_configs.ExportConfig = base_configs.ExportConfig()
98-
runtime: base_configs.RuntimeConfig = base_configs.RuntimeConfig()
99-
train_dataset: dataset_factory.DatasetConfig = \
100-
dataset_factory.ImageNetConfig(split='train',
101-
one_hot=False,
102-
mean_subtract=True,
103-
standardize=True)
104-
validation_dataset: dataset_factory.DatasetConfig = \
105-
dataset_factory.ImageNetConfig(split='validation',
106-
one_hot=False,
107-
mean_subtract=True,
108-
standardize=True)
109-
train: base_configs.TrainConfig = base_configs.TrainConfig(
110-
resume_checkpoint=True,
111-
epochs=90,
112-
steps=None,
113-
callbacks=base_configs.CallbacksConfig(
114-
enable_checkpoint_and_export=True, enable_tensorboard=True),
115-
metrics=['accuracy', 'top_5'],
116-
time_history=base_configs.TimeHistoryConfig(log_steps=100),
117-
tensorboard=base_configs.TensorBoardConfig(
118-
track_lr=True, write_model_weights=False),
119-
set_epoch_loop=False)
120-
evaluation: base_configs.EvalConfig = base_configs.EvalConfig(
121-
epochs_between_evals=1, steps=None)
122-
model: base_configs.ModelConfig = vgg_config.VGGModelConfig()
123-
12494

12595
def get_config(model: str, dataset: str) -> base_configs.ExperimentConfig:
12696
"""Given model and dataset names, return the ExperimentConfig."""
12797
dataset_model_config_map = {
12898
'imagenet': {
12999
'efficientnet': EfficientNetImageNetConfig(),
130100
'resnet': ResNetImagenetConfig(),
131-
'vgg': VGGImagenetConfig()
132101
}
133102
}
134103
try:

0 commit comments

Comments
 (0)