我想在Docker容器上运行深度神经网络。我可以使用在支持GPU的Docker Hub上公开提供的TensorFlow或PyTorch或CNTK图像。而且我可以在云中获得NVIDA GPU。
当我在没有GPU(或Intel GPU)的PC上运行那些基于GPU的容器时会发生什么?基于NVIDIA GPU的Docker容器是否可以在我的CPU上正常运行(尽管速度较慢)?
如果我可以在不准备使用GPU的情况下在本地进行开发并在准备好大规模运行时使用GPU进行扩展,那就太好了
这项工作有效吗?有想法吗?
答案 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))