auto_decomposition
功能说明
根据用户提供的TensorFlow模型文件,生成张量分解后的模型文件。
约束说明
- 用户提供用于分解的原始TensorFlow模型,需要保证各模型文件配套使用,即模型定义(.meta)、模型权重(.data-XXXXX-of-XXXXX)及权重索引文件(.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-XXXXX-of-XXXXX文件与.index文件的共同前缀路径。 例如上述两个文件分别为path/model-200.data-00000-of-00001和path/model-200.index, 则ckpt_path取值为path/model-200。 |
数据类型:string |
save_path |
输入 |
张量分解后所得文件的保存路径,将生成以该路径为前缀的.data-XXXXX-of-XXXXX等文件。 例如该参数设置为path/model,则生成的.data-XXXXX-of-XXXXX文件与.index等文件为: path/model.data-XXXXX-of-XXXXX和path/model.index。 |
数据类型:string |
add_ops |
返回值 |
张量分解后新添加卷积层的名字的列表。 |
数据类型:list |
返回值说明
张量分解后新添加卷积层的名字的列表。
函数输出
- checkpoint:checkpoint列表文件。
- .meta:张量分解后的模型定义文件。
- .data-00000-of-00001:张量分解后的权重文件。
- .index:张量分解后的权重文件索引。
- .pkl:分解时图结构的改动信息文件,用于decompose_graph接口修改原训练代码中的图。
调用示例
from amct_tensorflow.tensor_decompose import auto_decomposition auto_decomposition(meta_path='src_path/model.meta', ckpt_path='src_path/model', save_path='decomposed_path/model' )
父主题: 张量分解