Docker搭配RTX A6000运行TensorFlow1.13训练模型可行性咨询
可行性结论
完全可以通过Docker方案在RTX A6000上完成TensorFlow 1.13.1版本的3D-RCAN训练,不需要做TensorFlow高版本迁移,也不会触发代码兼容问题。
核心配置注意事项
- RTX A6000为Ampere架构显卡,Windows宿主机直接安装低版本CUDA运行TF1.13.1确实存在兼容问题,但Docker方案可以完全隔离容器内环境与宿主机CUDA依赖,仅靠宿主机的新版NVIDIA显卡驱动即可实现GPU透传,绕开架构兼容限制。
- 不要直接使用官方预构建的tensorflow:1.13.1-gpu公共镜像:该镜像内置的CUDA 10.0未加入Ampere架构SM_86算力支持,运行时会报无匹配内核的错误。构建自定义镜像时选择
nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04作为基础镜像即可,该版本CUDA自带前向兼容层,可在Ampere及更新架构显卡上正常运行CUDA10.0编译的程序,后续在镜像内安装Python3.6、对应版本的TensorFlow 1.13.1 pip包即可,不需要手动编译TensorFlow。 - Windows宿主机仅需安装两个组件:适配RTX A6000的最新正式版显卡驱动、带WSL2后端的Docker Desktop,开启Docker Desktop的WSL2集成与GPU支持选项即可,宿主机不需要安装任何版本的CUDA或cuDNN,所有训练依赖全部封装在容器内部。
- 你之前在旧款GPU设备上跑通的训练代码、权重、数据集可以直接通过目录挂载的方式映射到容器内,启动训练的命令和你之前在旧设备上使用的完全一致,不需要修改3D-RCAN的源码,不会出现高版本TensorFlow的API兼容问题。
配置验证方法
镜像构建完成后,先执行以下命令验证GPU是否正常识别:
docker run --gpus all 自定义镜像名 python -c "import tensorflow as tf; print(tf.test.is_gpu_available())"
命令返回True即代表环境配置正常,可以直接启动训练任务。
内容的提问来源于stack exchange,提问作者etrs
相关产品推荐
相关产品推荐

