是否可以从Java应用程序以GPU模式运行TensorFlow?

时间:2018-02-09 02:45:14

标签: java tensorflow

我想使用Python中的TensorFlow对象检测模块中的一个预训练模块来训练我自己的数据集,之后,我想用Java运行训练好的数据集。我已经安装并测试了TensorFlow for Java。但它只在CPU上运行。

当我在互联网上搜索时,在Java中不可能训练TensorFlow,所以对于训练,我使用的是Python,然后为了运行我想使用Java,但问题是GPU,我不知道如果可以从Java运行。

我的工作流程是这样的:

  • 准备好数据集
  • 使用预先训练的模块(来自TensorFlow)训练数据集 对象检测SSD_mobilenet_v1)
  • 使用OpenCV从相机读取帧
  • 通过TensorFlow
  • 使用我自己的火车数据集检测对象

1 个答案:

答案 0 :(得分:2)

Tensorflow for Java确实支持GPU。

  

如果您的Linux系统有NVIDIA®GPU并且您的TensorFlow Java程序需要GPU加速,那么请将以下内容添加到项目的pom.xml中:

<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>libtensorflow</artifactId>
  <version>1.5.0</version>
</dependency>
<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>libtensorflow_jni_gpu</artifactId>
  <version>1.5.0</version>
</dependency>

请注意,GPU仅在系统符合GPU support requirements时可用,并且此时仅在Linux系统上可用。

Installing TensorFlow for Java

虽然目前在Windows上无法使用GPU,但GPU support for Java in windows的问题中的评论表明他们正在积极开展工作。