Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ModelZoo
ResNet50_tensorflow
Commits
dba326cc
Commit
dba326cc
authored
Oct 01, 2021
by
Vishnu Banna
Browse files
optimization package pr comments
parent
100a716c
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
155 additions
and
29 deletions
+155
-29
official/vision/beta/projects/yolo/common/registry_imports.py
...cial/vision/beta/projects/yolo/common/registry_imports.py
+0
-1
official/vision/beta/projects/yolo/configs/experiments/yolov4/inference/512.yaml
...ojects/yolo/configs/experiments/yolov4/inference/512.yaml
+132
-0
official/vision/beta/projects/yolo/configs/experiments/yolov4/tpu/512.yaml
...eta/projects/yolo/configs/experiments/yolov4/tpu/512.yaml
+1
-1
official/vision/beta/projects/yolo/optimization/configs/learning_rate_config.py
...rojects/yolo/optimization/configs/learning_rate_config.py
+0
-19
official/vision/beta/projects/yolo/optimization/configs/optimization_config.py
...projects/yolo/optimization/configs/optimization_config.py
+0
-3
official/vision/beta/projects/yolo/optimization/optimizer_factory.py
...sion/beta/projects/yolo/optimization/optimizer_factory.py
+22
-5
No files found.
official/vision/beta/projects/yolo/common/registry_imports.py
View file @
dba326cc
...
...
@@ -31,6 +31,5 @@ from official.vision.beta.projects.yolo.tasks import yolo
# import optimization packages
from
official.vision.beta.projects.yolo.optimization
import
optimizer_factory
from
official.vision.beta.projects.yolo.optimization.configs
import
learning_rate_config
from
official.vision.beta.projects.yolo.optimization.configs
import
optimization_config
from
official.vision.beta.projects.yolo.optimization.configs
import
optimizer_config
\ No newline at end of file
official/vision/beta/projects/yolo/configs/experiments/yolov4/inference/512.yaml
0 → 100755
View file @
dba326cc
runtime
:
distribution_strategy
:
'
mirrored'
mixed_precision_dtype
:
'
float16'
num_gpus
:
1
task
:
smart_bias_lr
:
0.1
model
:
darknet_based_model
:
True
input_size
:
[
512
,
512
,
3
]
backbone
:
type
:
'
darknet'
darknet
:
model_id
:
'
cspdarknet53'
max_level
:
5
min_level
:
3
decoder
:
type
:
yolo_decoder
yolo_decoder
:
version
:
v4
type
:
regular
activation
:
leaky
head
:
smart_bias
:
true
detection_generator
:
box_type
:
'
all'
:
original
scale_xy
:
'
5'
:
1.05
'
4'
:
1.1
'
3'
:
1.2
max_boxes
:
200
nms_type
:
greedy
iou_thresh
:
0.25
nms_thresh
:
0.45
pre_nms_points
:
500
loss
:
use_scaled_loss
:
False
update_on_repeat
:
False
box_loss_type
:
'
all'
:
ciou
ignore_thresh
:
'
all'
:
0.7
iou_normalizer
:
'
all'
:
0.07
cls_normalizer
:
'
all'
:
1.0
object_normalizer
:
'
all'
:
1.0
objectness_smooth
:
'
all'
:
0.0
max_delta
:
'
all'
:
5.0
norm_activation
:
activation
:
mish
norm_epsilon
:
0.0001
norm_momentum
:
0.99
use_sync_bn
:
true
num_classes
:
80
anchor_boxes
:
anchors_per_scale
:
3
boxes
:
[
box
:
[
12
,
16
],
box
:
[
19
,
36
],
box
:
[
40
,
28
],
box
:
[
36
,
75
],
box
:
[
76
,
55
],
box
:
[
72
,
146
],
box
:
[
142
,
110
],
box
:
[
192
,
243
],
box
:
[
459
,
401
]]
train_data
:
global_batch_size
:
1
# dtype: float32
input_path
:
'
/media/vbanna/DATA_SHARE/CV/datasets/COCO_raw/records/train*'
# is_training: true
# drop_remainder: true
# seed: 1000
parser
:
mosaic
:
mosaic_frequency
:
1.0
mixup_frequency
:
0.0
mosaic_crop_mode
:
'
scale'
mosaic_center
:
0.25
aug_scale_min
:
0.1
aug_scale_max
:
1.9
max_num_instances
:
200
letter_box
:
True
random_flip
:
True
aug_rand_translate
:
0.1
random_pad
:
False
validation_data
:
# global_batch_size: 1
# dtype: float32
input_path
:
'
/media/vbanna/DATA_SHARE/CV/datasets/COCO_raw/records/val*'
# is_training: false
# drop_remainder: true
# parser:
# max_num_instances: 200
# letter_box: True
# use_tie_breaker: True
# anchor_thresh: 0.213
# weight_decay: 0.000
# init_checkpoint: '../checkpoints/512-wd-baseline-e1'
# init_checkpoint_modules: 'all'
# annotation_file: null
trainer
:
optimizer_config
:
ema
:
null
# train_steps: 500500 # 160 epochs at 64 batchsize -> 500500 * 64/2
# validation_steps: 625
# steps_per_loop: 1850
# summary_interval: 1850
# validation_interval: 9250
# checkpoint_interval: 1850
# optimizer_config:
# ema:
# average_decay: 0.9998
# trainable_weights_only: False
# dynamic_decay: True
# learning_rate:
# type: stepwise
# stepwise:
# boundaries: [400000, 450000]
# name: PiecewiseConstantDecay
# values: [0.00131, 0.000131, 0.0000131]
# optimizer:
# type: sgd_torch
# sgd_torch:
# momentum: 0.949
# momentum_start: 0.949
# nesterov: True
# warmup_steps: 1000
# weight_decay: 0.0005
# sim_torch: true
# name: SGD
# warmup:
# type: 'linear'
# linear:
# warmup_steps: 1000 #learning rate rises from 0 to 0.0013 over 1000 steps
official/vision/beta/projects/yolo/configs/experiments/yolov4/tpu/512.yaml
View file @
dba326cc
...
...
@@ -41,7 +41,7 @@ task:
'
all'
:
0.07
cls_normalizer
:
'
all'
:
1.0
obj
ect
_normalizer
:
obj_normalizer
:
'
all'
:
1.0
objectness_smooth
:
'
all'
:
0.0
...
...
official/vision/beta/projects/yolo/optimization/configs/learning_rate_config.py
deleted
100755 → 0
View file @
100a716c
# Copyright 2021 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Dataclasses for learning rate schedule config."""
from
typing
import
List
,
Optional
import
dataclasses
from
official.modeling.hyperparams
import
base_config
# zfrom official.modeling.optimization.configs import learning_rate_config
official/vision/beta/projects/yolo/optimization/configs/optimization_config.py
View file @
dba326cc
...
...
@@ -21,9 +21,6 @@ from typing import Optional
import
dataclasses
from
official.modeling.hyperparams
import
base_config
from
official.modeling.hyperparams
import
oneof
from
official.vision.beta.projects.yolo.optimization.configs
import
learning_rate_config
as
lr_cfg
from
official.vision.beta.projects.yolo.optimization.configs
import
optimizer_config
as
opt_cfg
from
official.modeling.optimization.configs
import
optimization_config
as
optimization_cfg
...
...
official/vision/beta/projects/yolo/optimization/optimizer_factory.py
View file @
dba326cc
...
...
@@ -62,11 +62,28 @@ class OptimizerFactory(optimizer_factory.OptimizerFactory):
"""
def
get_bias_lr_schedule
(
self
,
bias_lr
):
"""Used to build additional learning rate schedules."""
temp
=
self
.
_warmup_config
.
warmup_learning_rate
self
.
_warmup_config
.
warmup_learning_rate
=
bias_lr
lr
=
self
.
build_learning_rate
()
self
.
_warmup_config
.
warmup_learning_rate
=
temp
"""Build learning rate.
Builds learning rate from config. Learning rate schedule is built according
to the learning rate config. If learning rate type is consant,
lr_config.learning_rate is returned.
Returns:
tf.keras.optimizers.schedules.LearningRateSchedule instance. If
learning rate type is consant, lr_config.learning_rate is returned.
"""
if
self
.
_lr_type
==
'constant'
:
lr
=
self
.
_lr_config
.
learning_rate
else
:
lr
=
LR_CLS
[
self
.
_lr_type
](
**
self
.
_lr_config
.
as_dict
())
if
self
.
_warmup_config
:
if
self
.
_warmup_type
!=
'linear'
:
raise
ValueError
(
"Smart Bias is only supported currently with a"
"linear warm up."
)
warm_up_cfg
=
self
.
_warmup_config
.
as_dict
()
warm_up_cfg
[
"warmup_learning_rate"
]
=
bias_lr
lr
=
WARMUP_CLS
[
'linear'
](
lr
,
**
warm_up_cfg
)
return
lr
@
gin
.
configurable
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment