我正在运行一个在4xRTX3090上用TensorFlow 1.x编写的模型,比1xRTX3090需要很长时间来启动培训。虽然,随着训练的开始,它在4倍比1倍更早完成。我正在使用CUDA 11.1和TensorFlow 1.14在这两个GPU。
其次,当我使用1×RTX 2080 to,与CUDA 10.2和Tensorflow 1.14相比,使用1×RTX 3090和11.1CUDA和TensorFlow 1.14启动训练所需的量较少。暂用1xRTX2080ti 5 min,1xRTX3090 30~35分钟,4xRTX30901.5h启动其中一个数据集的训练。
如果有人能帮我解决这个问题,我将不胜感激。
我正在使用Ubuntu16.04,核心™i9-10980XE CPU和32 GB内存,在2080 in和3090机器。
编辑:根据到这个的说法,我发现TF在安培架构GPU中需要很长的启动时间,但我仍然不清楚是否是这样的;如果是这样的话,是否存在解决方案?
发布于 2020-12-10 11:09:11
1.x没有CUDA 11.1的二进制文件,所以在开始编译时需要时间。由于RTX 3090使用PTX和JIT编译器进行编译,所以需要很长时间。
一个通用的解决方案是增加缓存大小,.using代码:-“导出CUDA_CACHE_MAXSIZE=2147483648”(在这里,2147483648是缓存大小,您可以通过考虑内存限制和它在帐户中的其他进程中的使用来设置它的任意数字)。有关澄清,请参阅https://www.tensorflow.org/install/gpu。从这一点,在随后的运行,启动时间将是很短的。但即使在此之后,二进制文件生成(在此开始时)也将与CUDA 11.1不兼容。
最好是将代码从T.F.1.x迁移到2.x(2.4+),使其在RTX30XX系列上运行,或者尝试用CUDA 11.1从源代码编译T.F.1.x(这一点不确定)。
发布于 2020-12-23 23:30:42
正如雷霆所解释的,Nvidia安培GPU不支持TensorFlow 1.x,而且它看起来永远也不会支持,因为安培流多处理器(SM_86)只支持CUDA 11.1,参见https://forums.developer.nvidia.com/t/can-rtx-3080-support-cuda-10-1/155849/2和TensorFlow 1.x在新版本的CUDA上有一段时间没有完全支持,原因可能类似于上面的链接。不幸的是,TensorFlow版本1.x不再受支持或维护,请参见https://github.com/tensorflow/tensorflow/issues/43629#issuecomment-700709796
然而,如果您必须使用Stylegan 2模型,您可能会对Nvidia Tensorflow有一些运气,它显然支持安培GPU上的1.15版本,请参阅https://developer.nvidia.com/blog/accelerating-tensorflow-on-a100-gpus/
发布于 2022-01-06 14:49:03
下面是在linux上提出的解决方案:https://www.pugetsystems.com/labs/hpc/How-To-Install-TensorFlow-1-15-for-NVIDIA-RTX30-GPUs-without-docker-or-CUDA-install-2005/
在windows上,我设法让我的RTX3080TI使用Tf1.15使用WSL2和directml:
https://learn.microsoft.com/en-us/windows/ai/directml/gpu-tensorflow-wsl
结果比我的RTX2080TI快1.5倍。
https://stackoverflow.com/questions/64462347
复制相似问题