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)
相关推荐
政安晨2 小时前
政安晨【零基础玩转开源AI项目】- AutoGPT:全球首个自主AI Agent从入门到实战(致敬OpenClaw的小回顾)
人工智能·ai·autogpt·全球首个agent框架·致敬openclaw之作·参考价值·ai开源agent框架
Shawn_Shawn6 小时前
mcp学习笔记(一)-mcp核心概念梳理
人工智能·llm·mcp
冷雨夜中漫步8 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
33三 三like8 小时前
《基于知识图谱和智能推荐的养老志愿服务系统》开发日志
人工智能·知识图谱
芝士爱知识a8 小时前
【工具推荐】2026公考App横向评测:粉笔、华图与智蛙面试App功能对比
人工智能·软件推荐·ai教育·结构化面试·公考app·智蛙面试app·公考上岸
郝学胜-神的一滴8 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再8 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
腾讯云开发者9 小时前
港科大熊辉|AI时代的职场新坐标——为什么你应该去“数据稀疏“的地方?
人工智能
工程师老罗9 小时前
YoloV1数据集格式转换,VOC XML→YOLOv1张量
xml·人工智能·yolo