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 阅读(193) 评论(0) 收藏 举报
浙公网安备 33010602011771号