基于PyTorch框架的模型训练调优

PyTorch框架全景介绍:

性能分析工具pytorch profiling

性能分析工具cann profiling

pytorch模型参数迁移(三种方法):

方法一:将原来预训练好的模型参数迁移到新的resnet18网络架构中,只有迁移两者相同的模型参数,不同的参数还是随机初始化。

方法二:修改网络名称并迁移学习

方法三:去除原模型的某些模块

在npu上训练,必须使用混合精度

一般来说,衡量模型性能的数据是看单step单位时间内的数据吞吐量

查看模型算子耗时的工具是cann profiling

宏观查看模型性能的工具是pytorch profiling

cann profiling的模型性能数据比pytorch profiling的更准确。

以下方法可以提升模型性能:

arm架构下绑核启动程序

使用融合优化器

使用npu亲和算子

有动态shape的模型,可以使用如下方法进行训练:

固定shape

模糊编译

分档

arm架构下,使用绑核的方式启动模型训练,性能会得到一定的提升。

第一次训练模型启动比较慢,是因为模型在编译,第二次启动训练,速度会明显提升。
 

你可能感兴趣的:(深度学习,神经网络,人工智能)