最近在看一些項目的源碼,總是能學到好多東西。 關於arparse中type的類型指定 不止可以指定常規類型,還可以加一些自己類型判斷,具體用法如下( "來源" ): ...
最近在看一些項目的源碼,總是能學到好多東西。
關於arparse中type的類型指定
不止可以指定常規類型,還可以加一些自己類型判斷,具體用法如下(來源):
def str2bool(v):
""" Usage:
parser.add_argument('--pretrained', type=str2bool, nargs='?', const=True,
dest='pretrained', help='Whether to use pretrained models.')
"""
if v.lower() in ('yes', 'true', 't', 'y', '1'):
return True
elif v.lower() in ('no', 'false', 'f', 'n', '0'):
return False
else:
raise argparse.ArgumentTypeError('Unsupported value encountered.')
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('--syncbn', type=str2bool, nargs='?', default=False,
dest='network.syncbn', help='Whether to sync BN.')