文档
注册

proto合并原理

合并原理如图1所示,其中:

  • AMCT(Ascend Model Compression Toolkit):昇腾模型压缩工具,简称AMCT
  • ATC(Ascend Tensor Compiler):昇腾张量编译器,即模型转换工具。

各proto文件说明:

  • custom.proto:用户自行准备的自定义文件。
  • amct_custom.proto:AMCT提供的文件,包括AMCT自定义层以及caffe-master相较与Caffe1.0的更新层。
  • caffe.proto:ATC软件包中内置的文件,该文件相较于Caffe1.0版本的caffe.proto,增加了ATC自定义层及调整了编号顺序。该文件同步合入AMCT软件包。
图1 proto合并原理

合并流程以及原则:

  1. 用户准备自定义的custom.proto,执行AMCT提供的install.py脚本,该脚本会将用户的custom.proto与AMCT提供的amct_custom.proto进行合并,生成中间文件custom.proto。
    • 如果custom.proto和amct_custom.proto存在算子编号冲突的场景,则报错,提示用户修改custom.proto的算子编号。
    • 如果custom.proto和amct_custom.proto存在算子名相同的场景,则报错,提示用户修改custom.proto的算子名。
  2. 将生成的中间文件custom.proto与ATC软件包中的caffe.proto进行合并,生成最终的caffe.proto。
    • 如果custom.proto和caffe.proto存在算子编号冲突的场景,则报错,提示用户修改custom.proto的算子编号。
    • 如果custom.proto和caffe.proto存在算子名相同的场景,做去重处理,以custom.proto为准。
  3. 最后会根据用户指定的caffe_dir路径,找到用户Caffe工程下的caffe.proto文件,对其进行备份后替换。
  • amct_custom.proto中的编号从200000开始(包括200000)。
  • caffe.proto中ATC自定义层的编号区间段为:[5000,200000)。
  • custom.proto中用户自定义层编号建议区间段小于5000,并且不与ATC提供的caffe.proto中的内置编号冲突。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词