如何在 AMD/ATI GPU 上运行 TensorFlow?

Sul*_*ade 6 gpu amd tensorflow

阅读本教程https://www.tensorflow.org/guide/using_gpu 后,我在这个简单的代码上检查了 GPU 会话

import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf

a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2,3], name = 'a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape = [3,2], name =  'b')
c = tf.matmul(a, b)

with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
    x = sess.run(c)
print(x)
Run Code Online (Sandbox Code Playgroud)

输出是

2018-08-07 18:44:59.019144:我 tensorflow/core/platform/cpu_feature_guard.cc:141] 您的 CPU 支持该 TensorFlow 二进制文件未编译使用的指令:AVX2 FMA 设备映射:没有已知设备。2018-08-07 18:44:59.019536: I tensorflow/core/common_runtime/direct_session.cc:288] 设备映射:

MatMul: (MatMul): /job:localhost/replica:0/task:0/device:CPU:0 2018-08-07 18:44:59.019902: I tensorflow/core/common_runtime/placer.cc:886] MatMul: (MatMul)/job:localhost/replica:0/task:0/device:CPU:0 a: (Const): /job:localhost/replica:0/task:0/device:CPU:0 2018-08-07 18:44:59.019926: I tensorflow/core/common_runtime/placer.cc:886] a: (Const)/job:localhost/replica:0/task:0/device:CPU:0 b: (Const): /job :localhost/replica:0/task:0/device:CPU:0 2018-08-07 18:44:59.019934: I tensorflow/core/common_runtime/placer.cc:886] b: (Const)/job:localhost/副本:0/任务:0/设备:CPU:0 [[ 22. 28.] [ 49. 64.]]

如您所见,GPU 没有进行任何计算。当我更改代码以使用 GPU 的配置和进程分数时:

conf = tf.ConfigProto()
conf.gpu_options.per_process_gpu_memory_fraction = 0.4

with tf.Session(config = conf) as sess:
    x = sess.run(c)
print(x)
Run Code Online (Sandbox Code Playgroud)

输出是

2018-08-07 18:52:22.681221: I tensorflow/core/platform/cpu_feature_guard.cc:141] 您的 CPU 支持该 TensorFlow 二进制文件未编译使用的指令:AVX2 FMA [[ 22. 28.] [ 49. 64.]]

我该怎么做才能在 GPU 卡上运行会话?谢谢你。

Rah*_*tro 5

在 AMD GPU 上运行 tensorflow 绝对是可能的。大约 2 年前,ROCm发布了,它可以完成任务。但是,需要注意的是,由于其开源起源,它目前仅在 Linux 上运行。因此,如果您愿意使用 Linux,那么您肯定可以使用 AMD GPU 来训练您的 DL 模型。也就是说,由于社区仍然不够大,您将获得的支持量很低。Google 搜索 ROCm,您可以获得有关如何在 Linux 机器上设置和运行它的说明。可能它可以在 Windows 中与 WSL2 一起使用,但我还没有尝试过,因此无法对此发表评论。

这是 ROCm 安装文档的链接


Bug*_*ler 0

我相信 TensorFlow-GPU 仅支持CUDA 计算能力 >= 3.0的 GPU 卡NVIDIA

\n
\n

以下 TensorFlow 变体可供安装:

\n

仅支持 CPU 的 TensorFlow。如果您的系统没有 NVIDIA\xc2\xae GPU,则必须安装此版本。此版本的 TensorFlow 通常更容易安装,因此即使您有 NVIDIA GPU,我们也建议您先安装此版本。

\n

具有 GPU 支持的 TensorFlow。TensorFlow 程序在 GPU 上的运行速度通常比在 CPU 上快得多。如果您运行性能关键型应用程序并且您的系统具有NVIDIA\xc2\xae GPU,则应安装此版本。有关详细信息,请参阅 TensorFlow GPU 支持。

\n
\n

https://www.tensorflow.org/install/install_linux

\n

  • @SuleymanSuleyman-zade 有第三方存储库支持 AMD RADEON GPU https://github.com/ROCmSoftwarePlatform/tensorflow-upstream。 (4认同)