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)
相关推荐
Dr.Kun1 分钟前
【鲲码园Python】基于pytorch的鱼品种分类系统(31类)
pytorch·python·分类
Petrichor_H_2 分钟前
DAY 43 复习日
开发语言·python
Hello eveybody2 分钟前
AI的出现,是否能替代IT从业者?
人工智能
却道天凉_好个秋4 分钟前
OpenCV(三十四):绘制轮廓
人工智能·opencv·计算机视觉
BoBoZz194 分钟前
OrientedArrow 在两个随机生成的点之间绘制一根带箭头的线,以可视化一个向量
python·vtk·图形渲染·图形处理
ccLianLian5 分钟前
计算机视觉·MaskFormer
人工智能·计算机视觉·目标跟踪
qq_200465057 分钟前
数字文明与农耕文明的交响:2025世界金猪日重构产业文化新范式
人工智能·重构·生活·旅游·业界资讯
人邮异步社区7 分钟前
完全没接触过AI/NLP,如何系统学习大模型?
人工智能·学习·自然语言处理·大模型
CV码9 分钟前
基于MediaPipe的静态手势识别实现
人工智能·opencv·计算机视觉·手势识别
数据的世界019 分钟前
重构智慧书-第5条:从 “依赖操控” 到 “价值共生”
人工智能