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)
相关推荐
CareyWYR8 分钟前
每周AI论文速递(251103-251107)
人工智能
AI科技星21 分钟前
张祥前统一场论动量公式P=m(C-V)误解解答
开发语言·数据结构·人工智能·经验分享·python·线性代数·算法
海琴烟Sunshine24 分钟前
leetcode 345. 反转字符串中的元音字母 python
python·算法·leetcode
cooldream200931 分钟前
构建智能知识库问答助手:LangChain与大语言模型的深度融合实践
人工智能·语言模型·langchain·rag
antonytyler33 分钟前
机器学习实践项目(二)- 房价预测增强篇 - 模型训练与评估:从多模型对比到小网格微调
人工智能·机器学习
ithicker33 分钟前
Pycharm+Deepseek结合使用Continue插件无法返回中文产生乱码
ide·python·pycharm
数据库安全40 分钟前
世界互联网大会|美创科技无侵入数据安全多智体治理技术首发
大数据·人工智能·科技·数据安全
棉猴1 小时前
《pygame中Sprite类实现多帧动画》注-通过多张序列帧显示动画2-1
python·游戏·pygame·游戏编程
权泽谦1 小时前
用 Python 做一个天气预报桌面小程序(附源码 + 打包与部署指导)
开发语言·python·小程序
海底的星星fly1 小时前
【Prompt学习技能树地图】生成知识提示技术的深度解析与应用
人工智能·学习·prompt