因此,我在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或因此重新获得了OS