Commit bf70fac4 authored by vishnubanna's avatar vishnubanna
Browse files

Merge branch 'yolo' of https://github.com/PurdueCAM2Project/tf-models into yolo

parents 3d8b5067 3cb84374
...@@ -9,33 +9,32 @@ task: ...@@ -9,33 +9,32 @@ task:
backbone: backbone:
type: 'darknet' type: 'darknet'
darknet: darknet:
model_id: 'cspdarknet53' model_id: 'darknet53'
losses: losses:
l2_weight_decay: 0.0005 l2_weight_decay: 0.0005
one_hot: True one_hot: True
label_smoothing: 0.1
train_data: train_data:
tfds_name: 'imagenet_a' tfds_name: 'imagenet_a'
tfds_split: 'test' tfds_split: 'test'
tfds_download: True tfds_download: True
is_training: True is_training: True
global_batch_size: 128 global_batch_size: 2
dtype: 'float16' dtype: 'float16'
validation_data: validation_data:
tfds_name: 'imagenet_a' tfds_name: 'imagenet_a'
tfds_split: 'test' tfds_split: 'test'
tfds_download: True tfds_download: True
is_training: False is_training: False
global_batch_size: 128 global_batch_size: 2
dtype: 'float16' dtype: 'float16'
drop_remainder: False drop_remainder: False
trainer: trainer:
train_steps: 800000 # in the paper train_steps: 51200000 # in the paper
validation_steps: 400 # size of validation data validation_steps: 25600 # size of validation data
validation_interval: 10000 validation_interval: 150
steps_per_loop: 10000 steps_per_loop: 150
summary_interval: 10000 summary_interval: 150
checkpoint_interval: 10000 checkpoint_interval: 150
optimizer_config: optimizer_config:
optimizer: optimizer:
type: 'sgd' type: 'sgd'
...@@ -47,8 +46,8 @@ trainer: ...@@ -47,8 +46,8 @@ trainer:
initial_learning_rate: 0.1 initial_learning_rate: 0.1
end_learning_rate: 0.0001 end_learning_rate: 0.0001
power: 4.0 power: 4.0
decay_steps: 799000 decay_steps: 51136000
warmup: warmup:
type: 'linear' type: 'linear'
linear: linear:
warmup_steps: 1000 #lr rise from 0 to 0.1 over 1000 steps warmup_steps: 64000 #lr rise from 0 to 0.1 over 1000 steps
...@@ -157,10 +157,6 @@ BACKBONES = { ...@@ -157,10 +157,6 @@ BACKBONES = {
"cspdarknettiny": CSPDARKNETTINY "cspdarknettiny": CSPDARKNETTINY
} }
CSPBlockConfig = collections.namedtuple('CSPBlockConfig', ['layer', 'stack', 'repetitions', 'bottleneck',
'filters', 'kernel_size', 'strides', 'padding', 'activation', 'route',
'output_name', 'is_output'])
@ks.utils.register_keras_serializable(package='yolo') @ks.utils.register_keras_serializable(package='yolo')
class Darknet(ks.Model): class Darknet(ks.Model):
...@@ -181,10 +177,7 @@ class Darknet(ks.Model): ...@@ -181,10 +177,7 @@ class Darknet(ks.Model):
config=None, config=None,
**kwargs): **kwargs):
# layer_specs, splits = Darknet.get_config(model_id) layer_specs, splits = Darknet.get_model_config(model_id)
print(len(BACKBONES[model_id]['backbone'][-1]))
layer_specs = [CSPBlockConfig(*config) for config in BACKBONES[model_id]['backbone']]
splits = BACKBONES[model_id]['splits']
self._model_name = model_id self._model_name = model_id
self._splits = splits self._splits = splits
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment