飞桨x昇腾生态适配方案:02_常用环境变量

简介: 本节介绍训练前建议设置的常用环境变量,涵盖NPU私有格式、在线编译、性能优化参数(如`aclnn_scale`和`aclnn_split`)、算子黑名单配置、NPU卡号指定、Paddle内存分配策略及日志设置等内容。通过合理配置这些变量,可有效提升训练性能并解决潜在问题。例如,关闭`FLAGS_npu_storage_format`以禁用NPU私有格式,或调整`ASCEND_MAX_OP_CACHE_SIZE`优化Kernel缓存大小。同时,CANN和Paddle的日志环境变量也提供了调试支持。

训练常用环境变量

本节介绍的环境变量建议在训练前提前设置好。

NPU私有格式

0为关闭,建议关闭:

export FLAGS_npu_storage_format=0

NPU在线编译

false为关闭,建议小模型关闭,大模型打开:

export FLAGS_npu_jit_compile=false

aclnn_scale

在大模型场景设置False性能更好,小模型场景设置True性能更好:

export FLAGS_npu_scale_aclnn=True

aclnn_split

在大模型场景设置False性能更好,小模型场景设置True性能更好:

export FLAGS_npu_split_aclnn=True

npu算子加黑名单

npu算子加黑名单跑cpu,禁用NPU算子名单,可用来暂时规避精度问题,或者确认问题算子(set_value为算子名称):

export CUSTOM_DEVICE_BLACK_LIST=“set_value”

指定NPU卡号

export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7

Paddle view机制

当前在NPU部分模型上性能较差,0为关闭,建议关闭:

export FLAGS_use_stride_kernel=0

Paddle内存分配方式

默认为最大值申请,可能在个别模型上引入内存问题,建议使用auto_growth随使用申请

export FLAGS_allocator_strategy_kernel=auto_growth

kernel缓存大小

设置kernel缓存大小,以防止模型训练后期性能衰减

export ASCEND_MAX_OP_CACHE_SIZE=5000

CANN日志环境变量

设置日志打屏

1为打屏,可开启后将日志重定向到.log文件中

export ASCEND_SLOG_PRINT_TO_STDOUT=1

设置日志等级

0为INFO级,所有的日志均输出,3为ERROR级

export ASCEND_GLOBAL_LOG_LEVEL=0

Paddle日志环境变量

Paddle的glog等级中,0为无日志,10为全开日志,一般开启到3即可

export GLOG_v=3

开启glog后重定向.log文件需要在语句最后加入 2>&1 命令,例如:

python tools/train.py -c PP-OCRv4_server_rec_ic15_data.yaml -o
Global.use_gpu=False Global.use_npu=True > ocr.log 2>&1
目录
相关文章
|
机器学习/深度学习 自然语言处理 并行计算
Self-Attention 原理与代码实现
Self-Attention 原理与代码实现
986 0
|
7月前
|
机器学习/深度学习 PyTorch 算法框架/工具
飞桨x昇腾生态适配方案:00_整体方案介绍
本文详细介绍PaddlePaddle与NPU的适配工作,涵盖训练与推理支持、性能优化及离线推理方案。PaddleCustomDevice作为适配层,支持主流模型(详见飞桨-昇腾模型列表),多数性能媲美V100,部分调优模型接近0.8*A800。硬件适配主要针对A2芯片,A1兼容但310系列建议离线推理。提供常用模型仓链接及整体方案导览,包括环境准备、算子适配、性能调优和Paddle转ONNX/OM等内容。
383 0
|
机器学习/深度学习 人工智能 文字识别
CRNN文字识别
近几年来,CRNN在计算机视觉文本识别领域取得不错成果。CRNN是一种卷积循环神经网络结构,用于解决基于图像的序列识别问题,特别是场景文字识别问题。CRNN网络实现了不定长验证结合CNN和RNN网络结构,使用双向LSTM循环网络进行时序训练,并在最后引入CTC损失函数来实现端对端的不定长序列识别,
1701 0
CRNN文字识别
|
存储 弹性计算 容灾
华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务
主要介绍华为云数据库RDS的备份与恢复部署过程以及SDRS的创建部署过程。
843 0
华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务
|
2月前
|
文字识别 自然语言处理 API
同时斩获两个开源第一,超火的通义Qwen3-VL CookBook来了
Qwen3-VL开源发布后广受认可,登顶Chatbot Arena视觉榜与OpenRouter图像处理市场份额第一。支持文档解析、OCR、视频理解、3D定位等多模态任务,现推出详细Cookbook助力开发者高效应用。
909 3
|
8月前
|
容器
vllm+vllm-ascend本地部署QwQ-32B
本指南介绍如何下载、安装和启动基于Ascend的vLLM模型。首先,可通过华为镜像或Hugging Face下载预训练模型;其次,安装vllm-ascend,支持通过基础镜像(如`quay.io/ascend/vllm-ascend:v0.7.3-dev`)或源码编译方式完成;最后,使用OpenAI兼容接口启动模型,例如运行`vllm serve`命令,设置模型路径、并行规模等参数。适用于大模型推理场景,需注意显存需求(如QwQ-32B需70G以上)。
3432 17
|
9月前
|
开发者
鸿蒙开发:了解分割线
在实际的开发中,如果自带的分割线能够满足我们的需求,以自身的分割线属性为主,如果不满足,我们可以使用组件进行绘制。
289 16
鸿蒙开发:了解分割线
|
10月前
|
存储 人工智能 Serverless
阿里云《AI 剧本生成与动画创作》技术解决方案测评
本问是对《AI 剧本生成与动画创作》的用心体验。结论不是特别理想,在实际使用中仍存在一些问题。
464 22
|
7月前
|
机器学习/深度学习 Docker 容器
飞桨x昇腾生态适配方案:01_基础环境准备
本指南详细介绍在ARM环境中准备CANN环境、安装Paddle深度学习框架及PaddleCustomDevice的过程。首先下载并加载CANN镜像,启动Docker容器;接着通过日构建包或源码编译安装PaddlePaddle和PaddleCustomDevice;可选更新CANN版本时需注意环境变量配置与路径设置。最后提供基础功能检查方法,包括硬件后端、版本验证及框架健康检查,确保环境搭建成功。
451 0
|
7月前
|
数据采集 Web App开发 数据挖掘
飞桨x昇腾生态适配方案:07_性能数据分析
本文介绍了性能调优的全流程,包括分析、定位与优化。通过 profiling 工具采集算子级性能数据,定位计算与调度通信瓶颈。针对计算时间过长问题,可通过升级算子或提交工单解决;调度优化则关注重复编译,关闭在线编译或使用 aclnn 算子可提升效率。数据采集使用 paddlepaddle 的 profiler 工具,结合 msprof 解析生成的性能数据,重点分析 op_statistic_*.csv 和 op_summary_*.csv 文件,通过关键字段(如 Ratio、Total Time、Task Duration 和 Task Wait Time)量化性能瓶颈并实施优化策略。
295 10