在没有 GPU 的虚拟机中执行 Tensorflow
Tensorflow execution in a virtual machine with no GPUs
我有一个关于 tensorflow 的问题,这个问题对我要完成的任务有点关键。
我的场景如下,
1. 我有一个已经设置、训练和测试的 tensorflow 脚本。它运行良好。
训练和测试是在带有 2 个 Titan X 卡的 devBox 上完成的。
- 我们现在需要将此系统移植到实时测试阶段,并且需要将其部署在虚拟机上,Ubuntu 14.04 运行ning 在其之上。
这就是问题所在 - 虚拟机将无法访问底层 GPU,并且必须在 CPU 仅模式下验证传入数据。我的问题,
- 没有 GPU 会阻碍我的 ML 系统的验证过程吗? tensorflow 是否默认使用 GPU 进行 CNN 计算,没有 GPU 会影响执行吗?
- 如何 运行 我的脚本处于 CPU 仅模式?
- 将 CUDA_VISIBLE_DEVICES 设置为 none 是否有助于系统在 GPU 机器上训练后在 CPU-only 模式下进行验证?
如果这是一个菜鸟问题,我很抱歉,但我是 TF 的新手,任何建议都将不胜感激。如果您需要有关我的场景的更多信息,请告诉我。
将 CUDA_VISIBLE_DEVICES
设置为空字符串进行测试将确保您没有任何依赖于 GPU 存在的东西,理论上它应该足够了。实际上,GPU 代码路径中存在一些错误,当没有 GPU 时(如 this one),这些错误会被触发,因此您要确保您的 GPU 软件环境(CUDA 版本)相同。
或者,您可以在没有 GPU 支持的情况下编译 TensorFlow (bazel build -c opt tensorflow
),这样您就不必担心匹配 CUDA 环境或设置 CUDA_VISIBLE_DEVICES
我有一个关于 tensorflow 的问题,这个问题对我要完成的任务有点关键。
我的场景如下, 1. 我有一个已经设置、训练和测试的 tensorflow 脚本。它运行良好。
训练和测试是在带有 2 个 Titan X 卡的 devBox 上完成的。
- 我们现在需要将此系统移植到实时测试阶段,并且需要将其部署在虚拟机上,Ubuntu 14.04 运行ning 在其之上。
这就是问题所在 - 虚拟机将无法访问底层 GPU,并且必须在 CPU 仅模式下验证传入数据。我的问题,
- 没有 GPU 会阻碍我的 ML 系统的验证过程吗? tensorflow 是否默认使用 GPU 进行 CNN 计算,没有 GPU 会影响执行吗?
- 如何 运行 我的脚本处于 CPU 仅模式?
- 将 CUDA_VISIBLE_DEVICES 设置为 none 是否有助于系统在 GPU 机器上训练后在 CPU-only 模式下进行验证?
如果这是一个菜鸟问题,我很抱歉,但我是 TF 的新手,任何建议都将不胜感激。如果您需要有关我的场景的更多信息,请告诉我。
将 CUDA_VISIBLE_DEVICES
设置为空字符串进行测试将确保您没有任何依赖于 GPU 存在的东西,理论上它应该足够了。实际上,GPU 代码路径中存在一些错误,当没有 GPU 时(如 this one),这些错误会被触发,因此您要确保您的 GPU 软件环境(CUDA 版本)相同。
或者,您可以在没有 GPU 支持的情况下编译 TensorFlow (bazel build -c opt tensorflow
),这样您就不必担心匹配 CUDA 环境或设置 CUDA_VISIBLE_DEVICES