最近在看bert的源码,一上来就是各种flags,本菜鸡以前没怎么接触过,所以特此学习记录。
flags的作用
flags可以通过命令行动态的更改代码中的参数
使用方法
from absl import flags
from absl import app
FLAGS = flags.FLAGS
flags.DEFINE_string('model', None, 'model to run')
def main(argv):
print('Hello World')
print('selected model', FLAGS.model)
if __name__ == '__main__':
app.run(main)
用命令行交互
若文件名为 text.py
则python text.py
输出为Hello World None
若想更改参数
输入改为python text.py --model “My model”
输出为My model