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) 收藏 举报
                    
                
                
            
        
浙公网安备 33010602011771号