提交 d3a1891b 编写于 作者: C ceci3

update

上级 77586c67
...@@ -20,7 +20,7 @@ reduce_rate = 0.85 ...@@ -20,7 +20,7 @@ reduce_rate = 0.85
init_temperature = 10.24 init_temperature = 10.24
max_flops = 321208544 max_flops = 321208544
server_address = "" server_address = ""
port = 8909 port = 8979
retain_epoch = 5 retain_epoch = 5
...@@ -243,42 +243,7 @@ if __name__ == '__main__': ...@@ -243,42 +243,7 @@ if __name__ == '__main__':
type=int, type=int,
default=100, default=100,
help='controller server number.') help='controller server number.')
# optimizer args
parser.add_argument(
'--lr_strategy',
type=str,
default='piecewise_decay',
help='learning rate decay strategy.')
parser.add_argument('--lr', type=float, default=0.1, help='learning rate.') parser.add_argument('--lr', type=float, default=0.1, help='learning rate.')
parser.add_argument(
'--l2_decay', type=float, default=1e-4, help='learning rate decay.')
parser.add_argument(
'--step_epochs',
nargs='+',
type=int,
default=[30, 60, 90],
help="piecewise decay step")
parser.add_argument(
'--momentum_rate',
type=float,
default=0.9,
help='learning rate decay.')
parser.add_argument(
'--warm_up_epochs',
type=float,
default=5.0,
help='learning rate decay.')
parser.add_argument(
'--num_epochs', type=int, default=120, help='learning rate decay.')
parser.add_argument(
'--decay_epochs', type=float, default=2.4, help='learning rate decay.')
parser.add_argument(
'--decay_rate', type=float, default=0.97, help='learning rate decay.')
parser.add_argument(
'--total_images',
type=int,
default=1281167,
help='learning rate decay.')
args = parser.parse_args() args = parser.parse_args()
print(args) print(args)
......
...@@ -22,7 +22,7 @@ reduce_rate = 0.85 ...@@ -22,7 +22,7 @@ reduce_rate = 0.85
init_temperature = 10.24 init_temperature = 10.24
max_flops = 321208544 max_flops = 321208544
server_address = "" server_address = ""
port = 8909 port = 8989
retain_epoch = 5 retain_epoch = 5
...@@ -284,6 +284,8 @@ if __name__ == '__main__': ...@@ -284,6 +284,8 @@ if __name__ == '__main__':
help='Whether to use GPU in train/test model.') help='Whether to use GPU in train/test model.')
parser.add_argument( parser.add_argument(
'--batch_size', type=int, default=256, help='batch size.') '--batch_size', type=int, default=256, help='batch size.')
parser.add_argument(
'--class_dim', type=int, default=1000, help='classify number.')
parser.add_argument( parser.add_argument(
'--data', '--data',
type=str, type=str,
...@@ -300,43 +302,7 @@ if __name__ == '__main__': ...@@ -300,43 +302,7 @@ if __name__ == '__main__':
type=int, type=int,
default=100, default=100,
help='controller server number.') help='controller server number.')
parser.add_argument(
'--lr_strategy',
type=str,
default='cosine_decay',
help='learning rate decay strategy.')
parser.add_argument('--lr', type=float, default=0.1, help='learning rate.') parser.add_argument('--lr', type=float, default=0.1, help='learning rate.')
parser.add_argument(
'--l2_decay', type=float, default=1e-4, help='learning rate decay.')
parser.add_argument(
'--class_dim', type=int, default=100, help='classify number.')
parser.add_argument(
'--step_epochs',
nargs='+',
type=int,
default=[30, 60, 90],
help="piecewise decay step")
parser.add_argument(
'--momentum_rate',
type=float,
default=0.9,
help='learning rate decay.')
parser.add_argument(
'--warm_up_epochs',
type=float,
default=5.0,
help='learning rate decay.')
parser.add_argument(
'--num_epochs', type=int, default=120, help='learning rate decay.')
parser.add_argument(
'--decay_epochs', type=float, default=2.4, help='learning rate decay.')
parser.add_argument(
'--decay_rate', type=float, default=0.97, help='learning rate decay.')
parser.add_argument(
'--total_images',
type=int,
default=1281167,
help='learning rate decay.')
args = parser.parse_args() args = parser.parse_args()
print(args) print(args)
......
...@@ -23,6 +23,16 @@ import paddle.fluid.layers.ops as ops ...@@ -23,6 +23,16 @@ import paddle.fluid.layers.ops as ops
from paddle.fluid.initializer import init_on_cpu from paddle.fluid.initializer import init_on_cpu
from paddle.fluid.layers.learning_rate_scheduler import _decay_step_counter from paddle.fluid.layers.learning_rate_scheduler import _decay_step_counter
lr_strategy = 'cosine_decay'
l2_decay = 1e-4
step_epochs = [30, 60, 90]
momentum_rate = 0.9
warm_up_epochs = 5.0
num_epochs = 120
decay_epochs = 2.4
decay_rate = 0.97
total_images = 1281167
def cosine_decay(learning_rate, step_each_epoch, epochs=120): def cosine_decay(learning_rate, step_each_epoch, epochs=120):
"""Applies cosine decay to the learning rate. """Applies cosine decay to the learning rate.
...@@ -152,15 +162,15 @@ class Optimizer(object): ...@@ -152,15 +162,15 @@ class Optimizer(object):
def __init__(self, args): def __init__(self, args):
self.batch_size = args.batch_size self.batch_size = args.batch_size
self.lr = args.lr self.lr = args.lr
self.lr_strategy = args.lr_strategy self.lr_strategy = lr_strategy
self.l2_decay = args.l2_decay self.l2_decay = l2_decay
self.momentum_rate = args.momentum_rate self.momentum_rate = momentum_rate
self.step_epochs = args.step_epochs self.step_epochs = step_epochs
self.num_epochs = args.num_epochs self.num_epochs = num_epochs
self.warm_up_epochs = args.warm_up_epochs self.warm_up_epochs = warm_up_epochs
self.decay_epochs = args.decay_epochs self.decay_epochs = decay_epochs
self.decay_rate = args.decay_rate self.decay_rate = decay_rate
self.total_images = args.total_images self.total_images = total_images
self.step = int(math.ceil(float(self.total_images) / self.batch_size)) self.step = int(math.ceil(float(self.total_images) / self.batch_size))
...@@ -295,6 +305,6 @@ class Optimizer(object): ...@@ -295,6 +305,6 @@ class Optimizer(object):
def create_optimizer(args): def create_optimizer(args):
Opt = Optimizer(args) Opt = Optimizer(args)
optimizer = getattr(Opt, args.lr_strategy)() optimizer = getattr(Opt, lr_strategy)()
return optimizer return optimizer
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册