TensorFlow 多卡训练 tf多卡训练

目录

[export TF_GPU_ALLOCATOR=cuda_malloc_async](#export TF_GPU_ALLOCATOR=cuda_malloc_async)

[🔧 具体作用](#🔧 具体作用)

优势

[🧩 依赖条件](#🧩 依赖条件)

[✅ 设置方式(Linux/macOS)](#✅ 设置方式(Linux/macOS))


export TF_GPU_ALLOCATOR=cuda_malloc_async

是设置 TensorFlow 使用 CUDA 异步内存分配器 的环境变量。这个设置可以带来性能上的优化,尤其在使用 GPU 的时候。


🔧 具体作用

TF_GPU_ALLOCATOR=cuda_malloc_async 的作用是:

让 TensorFlow 使用 CUDA 11.2+ 引入的 cudaMallocAsync API 来进行 GPU 显存的分配和释放。


优势

  1. 提高性能

    • 异步内存分配减少了 GPU 上的锁竞争。

    • 在多线程/并发数据加载和训练的情况下,效率明显提升。

  2. 减少内存碎片

    • cudaMallocAsync 使用内存池机制,比默认的 cudaMalloc 更智能地管理内存,减少碎片。
  3. 更高效的资源利用

    • 在一些模型(比如 Transformer)或动态图应用中,更容易避免 OOM(Out of Memory)。

🧩 依赖条件

  • CUDA ≥ 11.2

  • NVIDIA 驱动 ≥ 460

  • TensorFlow ≥ 2.10(强烈建议 ≥ 2.11)


✅ 设置方式(Linux/macOS)

在终端或脚本中加上:

export TF_GPU_ALLOCATOR=cuda_malloc_async

然后运行你的训练脚本:

python train.py

调用代码:

bash 复制代码
export CUDA_VISIBLE_DEVICES=5,7

export TF_GPU_ALLOCATOR=cuda_malloc_async

python nlf/tf/main.py --train 
python 复制代码
            with tf.device('/GPU:0'):
                loaded_model = tf.saved_model.load(FLAGS.load_backbone_from)
相关推荐
文心快码BaiduComate23 分钟前
从“提示词工程”到“技能工程”:Comate 创建Agent Skills 实战
人工智能
Yolanda_202227 分钟前
在vscode终端中可使用pip,但是cmd终端中找不到命令 pip问题的解决
vscode·python·conda·pip
星栈31 分钟前
MCP 从 stdio 迁到 SSE,踩了 5 个传输层坑
人工智能·后端·架构
2301_7644413338 分钟前
用动力学系统(微分方程)为 Kernberg 的客体关系单元提供数学化的操作定义,把“自体—客体“这对心理结构建模成一个二维耦合系统
数据结构·python·算法·数学建模
林泽毅41 分钟前
PyTRIO快速入门(二):Datum构建
人工智能·算法·产品
金斗潼关41 分钟前
使用MLP神经网络模型预测质数
人工智能·深度学习·神经网络
dogstarhuang1 小时前
用 Doubao-Seed-Evolving + Python 免费写一个网页正文提取工具(实战教程)
爬虫·python·ai编程
吴佳浩1 小时前
一文讲透AI算力单位:TFLOPS、PFLOPS、TOPS、稀疏算力,到底怎么算、怎么比?
人工智能·ai编程·gpu
guoyuhan1 小时前
用 OpenAI SDK 一行代码接入国产大模型:DeepSeek/Qwen/GLM 实战指南
人工智能
维基框架1 小时前
GitHub重构漏洞赏金计划 向AI批量报告说不
人工智能·重构·github