Docker映像是否在cpu机器上支持Nvidia GPU

时间:2018-10-04 22:19:19

标签: docker tensorflow gpu nvidia pytorch

我想在Docker容器上运行深度神经网络。我可以使用在支持GPU的Docker Hub上公开提供的TensorFlow或PyTorch或CNTK图像。而且我可以在云中获得NVIDA GPU。

当我在没有GPU(或Intel GPU)的PC上运行那些基于GPU的容器时会发生什么?基于NVIDIA GPU的Docker容器是否可以在我的CPU上正常运行(尽管速度较慢)?

如果我可以在不准备使用GPU的情况下在本地进行开发并在准备好大规模运行时使用GPU进行扩展,那就太好了

这项工作有效吗?有想法吗?

2 个答案:

答案 0 :(得分:0)

如果Tensorflow找不到GPU,它将仅使用CPU,因此应该可以正常工作。

答案 1 :(得分:0)

Tensorflow有一个允许软放置的选项,这意味着如果该设备不存在,它将自动选择一个现有且受支持的设备来运行操作。引用文档中关于tensorflow中的Using GPUs

  

如果您希望TensorFlow自动选择现有的   受支持的设备在指定的情况下运行操作   不存在,您可以在页面上将allow_soft_placement设置为True   创建会话时配置选项。

# Creates a graph.
with tf.device('/device:GPU:2'):
  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)
# Creates a session with allow_soft_placement and log_device_placement set
# to True.
sess = tf.Session(config=tf.ConfigProto(
      allow_soft_placement=True, log_device_placement=True))
# Runs the op.
print(sess.run(c))