auto_decomposition
功能说明
根据用户提供的TensorFlow模型和权重文件,生成张量分解后的模型文件以及权重文件。
约束说明
- 用户提供用于转换的原始TensorFlow模型,需要保证模型文件(.meta)和权重文件(.data-0000X-of-0000X与.index)配套,其中.data-0000X-of-0000X权重文件与.index权重文件索引需要配套使用。
- 用户调用张量分解接口函数,输入原始模型路径以及模型分解后的保存路径,接口函数对符合分解条件的卷积层进行自动分解,约束请参见张量分解。
函数原型
add_ops = auto_decomposition(meta_path,ckpt_path,save_path)
参数说明
参数名 |
输入/返回值 |
含义 |
使用限制 |
---|---|---|---|
meta_path |
输入 |
用户TensorFlow模型的定义文件,格式为.meta。 请确保.meta能被tf.compat.v1.train.import_meta_graph正常加载。 例如:对于使用horovod训练得到的meta文件,必须执行import hovorod.tensorflow才能被auto_decomposition接口调用。 |
数据类型:string |
ckpt_path |
输入 |
用户训练好的TensorFlow模型权重文件,格式为.data-0000X-of-0000X文件与.index文件索引:只需指定.data-0000X-of-0000X文件与.index文件的共同前缀即可。 |
数据类型:string |
save_path |
输入 |
张量分解后所得文件的保存路径。 |
数据类型:string |
add_ops |
返回值 |
模型分解后新添加卷积层的名字的列表。 |
数据类型:list |
返回值说明
模型分解后新添加卷积层的名字的列表。
函数输出
- checkpoint:TensorFlow保存模型时的自带文件。
- .meta:张量分解后的模型文件。
- .data-00000-of-00001:张量分解后的权重文件。
- .index:张量分解后的权重文件索引。
- .pkl:分解时图结构改动信息,用于decompose_graph接口。
调用示例
from amct_caffe.tensor_decompose import auto_decomposition auto_decomposition(meta_path='model.ckpt-2000.meta', ckpt_path='model.ckpt-200', save_path='model_decomposed' )