当前位置: 首页 > news >正文

TensorFlow 多卡训练 tf多卡训练

目录

export TF_GPU_ALLOCATOR=cuda_malloc_async

🔧 具体作用

优势

🧩 依赖条件

✅ 设置方式(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

调用代码:

export CUDA_VISIBLE_DEVICES=5,7export TF_GPU_ALLOCATOR=cuda_malloc_asyncpython nlf/tf/main.py --train 

            with tf.device('/GPU:0'):loaded_model = tf.saved_model.load(FLAGS.load_backbone_from)

相关文章:

  • Android第四次面试总结之Java基础篇(补充)
  • NPP库中libnppc模块介绍
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: [1]如何加载动态链接库, 并无缝支持原生底层开发?
  • QpushButton 扩展InteractiveButtonBase
  • 【中间件】brpc_基础_remote_task_queue
  • AI功能测试源码AI聊天AI视觉AI图像AI视频AI画外音写作助手AI测试多语言无加密源码
  • 企业架构革新指南:中台的定义、实践与未来
  • 供应链算法整理(二)--- 智能补货
  • 哈夫曼树和哈夫曼编码
  • 【自存】python使用matplotlib正常显示中文、负号
  • 智能工厂边缘计算:从数据采集到实时决策
  • 【Linux】SELinux 的基本操作与防火墙的管理
  • 力扣-链表-2 两数相加
  • 课程10. 聚类问题
  • js逆向绕过指纹识别
  • 5个情感丰富GPT-4o图像提示词(不是吉卜力风格)
  • PyTorch数据集与数据集加载
  • 情绪ABC——AI与思维模型【93】
  • Semaphore的详细源码剖析
  • 组合模式深度解析:构建灵活树形结构的终极指南
  • 马丽称不会与沈腾终止合作,“他是我的恩人,也是我的贵人”
  • 视频丨054B型护卫舰钦州舰南海实战化训练
  • 新加坡国会选举投票抽样结果公布,执政党已获超半数议席
  • 全红婵/陈芋汐夺得跳水世界杯总决赛女子双人10米台冠军
  • 案件发回重审,李在明参选韩总统之路再添波折
  • 上海:以税务支持鼓励探索更多的创新,助力企业出海