• W
    Python support register pass via PassDesc (#35602) · bab39eb2
    wuhuanzhou 提交于
    PR主要功能:针对fusion等子图替换场景,支持Python侧开发并注册Pass。
    
    背景
    Pass是指输入一个深度学习计算图Graph,依照一定条件进行修改,输出修改后的Graph的过程;
    当前PaddlePadle框架编写Pass代码存在以下问题:
    用户需要手写Graph的条件匹配、在Graph上的修改代码;
    对Graph操作需要深入底层框架代码,了解Graph的结构,并且知道相关Pass写法;
    我们提出了针对fusion等子图替换类Pass的优化方案以支持用户在Python侧开发注册Pass,提升二次开发体验:
    用户只需要输入匹配和替换的子图描述,由深度学习框架编写的代码来生成匹配和替换的逻辑,不需要用户对Graph进行匹配和替换操作;
    API级别的替换,用户可以通过Paddle的Python API构造子图,从而不需要知道Graph的结构,也能写Paddle的Graph Pass代码
    bab39eb2
ir.py 13.6 KB