pycharm HfArgumentParser ArgumentParser 参数设置 以及Debug

HfArgumentParser可以将类对象中的实例属性转换成转换为解析参数。必须注意的是,这里的类对象必须是通过@dataclass()创建的类对象。并且通过HfArgumentParser创建的解析参数,都是可选参数。

from transformers import HfArgumentParser
from dataclasses import dataclass, field

@dataclass()
class A():
    a: str = field(default="Alice")


@dataclass()
class B():
    b: str = field(default="汪汪汪")


if __name__ == '__main__':
    parser = HfArgumentParser((A, B))
    a_args, b_args = parser.parse_args_into_dataclasses()
    print(a_args)
    print(b_args)

shell

python HfArgumentParser_test.py --a="Ali" --b="Bob"

结果:

A(a=‘Ali’)
B(b=‘Bob’)

Pycharm

针对shell传参不能Debug的痛点,可使用Pycharm进行Debug,下述介绍具体做法

  1. 鼠标右键,点击 Modify Run Configuration
    pycharm HfArgumentParser ArgumentParser 参数设置 以及Debug_第1张图片
    pycharm HfArgumentParser ArgumentParser 参数设置 以及Debug_第2张图片

若参数比较多,可点击 expand,放大输入窗口
pycharm HfArgumentParser ArgumentParser 参数设置 以及Debug_第3张图片
pycharm HfArgumentParser ArgumentParser 参数设置 以及Debug_第4张图片
下述的几种参数输入格式都是支持的

  • --a "Ali
  • --a Ali
  • --b=Bob

参考资料

  • transformer.HfArgumentParser的使用.nlp的小学生

你可能感兴趣的:(小技巧,pycharm)