所以我在 Windows 中实现了用于 CPU 的 Java tensorFlow。现在 tf 1.10 之后的版本允许在 Windows 中进行 GPU 计算,我尝试建立连接。 现在在maven pom中我调用tensorflow_jni_gpu而不是tensorflow_jni。程序没有失败,但计算上似乎没有任何差异。如何检查我的程序是否正在使用 GPU 或者如何强制它使用 GPU?
最佳答案
要使用 GPU,您应该在 POM 中具有以下依赖项来处理 libtensorflow 而不是 tensorflow: `
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>libtensorflow</artifactId>
<version>1.15.0</version>
</dependency>
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>libtensorflow_jni_gpu</artifactId>
<version>1.15.0</version>
</dependency>
<dependency>
<groupId>org.tensorflow</groupId>
<artifactId>proto</artifactId>
<version>1.15.0</version>
</dependency>
`
以及以下代码:
byte[] config = ConfigProto.newBuilder()
.setGpuOptions(GPUOptions.newBuilder().setAllowGrowth(true))
.build().toByteArray();
final Runner runner = Session.runner();
runner.setOptions(config);
关于了解它是在 CPU 还是 GPU 上运行,您应该在应用程序日志中看到它,或者关于某些 CPU 指令尚未构建 tensorflow ,或者 tensorflow 管理加载 CUDA dll 等关于操作系统
关于java - 如何确保我的 tensorFlow Java 程序正在 Windows 上使用我的 GPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60062509/