【问题标题】:How to run TensorFlow on AMD/ATI GPU?如何在 AMD/ATI GPU 上运行 TensorFlow?
【发布时间】:2019-01-14 17:24:18
【问题描述】:

阅读本教程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)

输出是

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: 我 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: 我 张量流/核心/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:我 tensorflow/core/common_runtime/placer.cc:886] 一个: (常量)/job:localhost/replica:0/task:0/device:CPU:0 b: (常量): /job:localhost/replica:0/task:0/device:CPU:0 2018-08-07 18:44:59.019934:我 tensorflow/core/common_runtime/placer.cc:886] b: (常量)/job:localhost/replica:0/task:0/device: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)

输出是

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

如何在 GPU 卡上运行会话?谢谢。

【问题讨论】:

    标签: tensorflow gpu amd


    【解决方案1】:

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

    here is a link to ROCm installation docs

    【讨论】:

      【解决方案2】:

      您可以使用 TensorflowJS,即 TensorFlow 的 Javascript 版本。 TensorflowJS 没有任何硬件限制,可以在所有支持 webGL 的 gpu 上运行。

      这个 api 与 python 中的 tf 非常相似,并且该项目提供了将你的模型从 python 转换为 JS 的脚本

      【讨论】:

      【解决方案3】:

      我相信 TensorFlow-GPU 只支持 NVIDIA 的 CUDA Compute Capability >= 3.0 的 GPU 卡。

      以下 TensorFlow 变体可供安装:

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

      支持 GPU 的 TensorFlow。 TensorFlow 程序通常在 GPU 而不是 CPU 上运行得更快。如果您运行性能关键型应用程序并且您的系统具有满足先决条件的 NVIDIA® GPU,则应安装此版本。有关详细信息,请参阅 TensorFlow GPU 支持。

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

      【讨论】:

      猜你喜欢
      • 2019-10-06
      • 2019-11-17
      • 1970-01-01
      • 2018-04-10
      • 2017-12-03
      • 1970-01-01
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多