python 生成器和fire

class HyperParameters(object):
"""
用于管理模型超参数
"""

def __init__(
self,
max_length: int = 128,
epochs=4,
batch_size=32,
learning_rate=2e-5,
fp16=True,
fp16_opt_level="O1",
max_grad_norm=1.0,
warmup_steps=0.1,
) -> None:
self.max_length = max_length
"""句子的最大长度"""
self.epochs = epochs
"""训练迭代轮数"""
self.batch_size = batch_size
"""每个batch的样本数量"""
self.learning_rate = learning_rate
"""学习率"""
self.fp16 = fp16
"""是否使用fp16混合精度训练"""
self.fp16_opt_level = fp16_opt_level
"""用于fp16,Apex AMP优化等级,['O0', 'O1', 'O2', and 'O3']可选,详见https://nvidia.github.io/apex/amp.html"""
self.max_grad_norm = max_grad_norm
"""最大梯度裁剪"""
self.warmup_steps = warmup_steps
"""学习率线性预热步数"""

 

 

-------参数

def __repr__(self) -> str:
return self.__dict__.__repr__()


HyperParameters()

 

-----------------生成器

def gen(sth):
for _ in ["a", "b", "c"]:
yield _

lst = gen("")

next(lst)

------------------fire

import fire


def hello_word(name, time):
print(time, "hello", name)


if __name__ == '__main__':
fire.Fire(hello_word)

python XX.py --name s --time now

 

posted on 2020-08-03 13:07  nnnnnnnnnnnnnnnn  阅读(192)  评论(0)    收藏  举报

导航