安装 TensorFlow for Java

栏目: Java · 发布时间: 7年前

内容简介:安装 TensorFlow for Java

本文出自 掘金翻译计划 正在组织翻译的 TensorFlow 官方文档 。如果您有兴趣,欢迎 申请成为译者 ,学习完译者教程后,参与到文章和文档的翻译和及对当中。我们也正在招募 TensorFlow 译者,欢迎积极参加。

TensorFlow 为 Java 程序提供了 API 。这些 API 是在 Java 应用中专门用来加载和执行 Python 创建的模型的。这个教程解释了如何安装并在应用中使用TensorFlow for Java 。

警告:TensorFlow 的 Java API 包含在 TensorFlow 中。API 稳定性保证

支持平台

TensorFlow for Java 支持在以下操作系统中运行:

  • Linux
  • Mac OS X
  • Windows
  • Android

Android 上的安装说明在单独的 Android TensorFlow 支持页 中。在安装完成后,请查看这个 Android 上 TensorFlow 的完整示例。

在 Maven 项目中使用 TensorFlow

如果你的项目使用了Apache Maven,为了使用 TensorFlow Java API , 在项目的 pom.xml 中加入以下内容即可:

<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>tensorflow</artifactId>
  <version>1.4.0-rc0</version>
</dependency>

示例

例如,这些步骤将创建一个使用 TensorFlow 的 Maven 项目:

  1. 创建项目的 pom.xml

    <project>
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.myorg</groupId>
        <artifactId>hellotf</artifactId>
        <version>1.0-SNAPSHOT</version>
        <properties>
          <exec.mainClass>HelloTF</exec.mainClass>
          <!-- 这个样例代码至少需要 JDK 1.7 。 -->
          <!-- maven 编译器插件默认为一个更低的版本 -->
          <maven.compiler.source>1.7</maven.compiler.source>
          <maven.compiler.target>1.7</maven.compiler.target>
        </properties>
        <dependencies>
          <dependency>
            <groupId>org.tensorflow</groupId>
            <artifactId>tensorflow</artifactId>
            <version>1.4.0-rc0</version>
          </dependency>
        </dependencies>
    </project>
  2. 创建源文件( src/main/java/HelloTF.java ):

    import org.tensorflow.Graph; import org.tensorflow.Session; import org.tensorflow.Tensor; import org.tensorflow.TensorFlow;

    public class HelloTF { public static void main(String[] args) throws Exception { try (Graph g = new Graph()) { final String value = "Hello from " + TensorFlow.version();

    // 使用一个简单操作、一个名为 "MyConst" 的常数和一个值 "value" 来构建计算图。
         try (Tensor t = Tensor.create(value.getBytes("UTF-8"))) {
           // Java API 目前还不包含足够方便的函数来执行“加”操作。
           g.opBuilder("Const", "MyConst").setAttr("dtype", t.dataType()).setAttr("value", t).build();
         }
    
         // 在一个 Session 中执行 "MyConst" 操作。
         try (Session s = new Session(g);
              Tensor output = s.runner().fetch("MyConst").run().get(0)) {
           System.out.println(new String(output.bytesValue(), "UTF-8"));
         }
       }
     }

    }

  3. 编译并执行:

    # 使用 -q 来隐藏 mvn 工具的日志
    <b>mvn -q compile exec:java</b>

前面的这条命令应该输出 Hello from version 。 如果成功输出,那么你就已经成功地安装了 TensorFlow for Java 并且可以在Maven 项目中使用它。如果没有成功,请前往Stack Overflow 搜索可能的解决方案。你可以跳过阅读本文档的其余部分。

在 JDK 下使用 TensorFlow

这一节将介绍如何使用 JDK 安装得到的 java 和 javac 命令来使用 TensorFlow。 如果你的项目中使用了 Apache Maven,请参考使用上一节更简单的安装方法。

Linux 或 Mac OS 上安装

采取以下步骤在 Linux 或 Mac OS 上安装 TensorFlow for Java:

  1. 下载libtensorflow.jar, 它是 TensorFlow Java Archive (JAR)。

  2. 决定你要只在 CPU 上运行 TensorFlow for Java 还是要在 GPU 的协助下运行。为了帮助您决定,请阅读以下指南中标题为“决定要安装哪个 TensorFlow”的部分:

    • @{ 在 Linux 上安装 TensorFlow}
    • @{ 在 Mac OS 上 安装 TensorFlow}
  3. 通过运行以下 shell 命令,下载并提取相应的 Java Native Interface(JNI)文件,来为你的操作系统和处理器提供支持:

    TF_TYPE="cpu" # 默认处理器是 CPU 。如果你想要使用 GPU ,就将它设置成 "gpu" 。
    OS=$(uname -s | tr '[:upper:]' '[:lower:]')
    mkdir -p ./jni
    curl -L \
      "https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow_jni-${TF_TYPE}-${OS}-x86_64-1.4.0-rc0.tar.gz" |
      tar -xz -C ./jni

在 Windows 上安装

用如下几步在 Windows 上安装 TensorFlow for Java :

  1. 下载libtensorflow.jar, 它是 TensorFlow Java Archive (JAR)。
  2. 下载适合 Windows 上的 TensorFlow for Java 的 Java Native Interface (JNI) 文件
  3. 解压此 .zip 文件。

验证安装

安装 TensorFlow for Java 后,在 HelloTF.java 文件中输入以下代码来验证安装:

import org.tensorflow.Graph;
import org.tensorflow.Session;
import org.tensorflow.Tensor;
import org.tensorflow.TensorFlow;

public class HelloTF {
  public static void main(String[] args) throws Exception {
    try (Graph g = new Graph()) {
      final String value = "Hello from " + TensorFlow.version();

      // 使用一个简单操作、一个名为 "MyConst" 的常数和一个值 "value" 来构建计算图。
      try (Tensor t = Tensor.create(value.getBytes("UTF-8"))) {
        // Java API 目前还不包含足够方便的函数来执行“加”操作。
        g.opBuilder("Const", "MyConst").setAttr("dtype", t.dataType()).setAttr("value", t).build();
      }

      // 在一个 Session 中执行 "MyConst" 操作。
      try (Session s = new Session(g);
           Tensor output = s.runner().fetch("MyConst").run().get(0)) {
        System.out.println(new String(output.bytesValue(), "UTF-8"));
      }
    }
  }
}

并使用以下命令来编译并运行 HelloTF.java

编译

在编译一个使用 TensorFlow 的 Java 程序时,下载的 .jar 文件必须在你的 classpath 中。例如,你可以通过使用类似如下的指令,使用编译标志 -cp 将下载的 .jar 文件包含在你的 classpath 中:

<b>javac -cp libtensorflow-1.4.0-rc0.jar HelloTF.java</b>

运行

要运行依赖 TensorFlow 的 Java 程序,保证下面的 两个文件对于 JVM 来说可用:

  • 下载好的 .jar 文件
  • 提取出的 JNI 库

例如,使用以下命令命令在 Linux 和 Mac OS X 上运行 HelloTF 程序:

<b>java -cp libtensorflow-1.4.0-rc0.jar:. -Djava.library.path=./jni HelloTF</b>

使用以下命令在 Windows 上运行 HelloTF 程序:

<b>java -cp libtensorflow-1.4.0-rc0.jar;. -Djava.library.path=jni HelloTF</b>

如果程序打印出 Hello from version ,说明你已经成功地安装了 TensorFlow for Java 并且可以使用 API 了。 如果程序输出了其他内容,请查阅Stack Overflow 以寻找解决方案。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数学规划

数学规划

黄红选 / 清华大学出版社 / 2006-3 / 45.00元

《数学规划》以数学规划为对象,从理论、算法和计算等方面介绍,分析和求解常见的最优化问题的一些方法,全书共分8章,其中第l章介绍了数学规划的实例、模型以及在分析最优化问题时所涉及的基础知识,第2章至第8章分别讨论了凸分析、线性规划、无约束优化、约束优化、多目标规划、组合优化和整数规划以及全局优化等七个方面的内容,此外,书中每章的最后一节给出了一些习题,书末列出了参考文献和索引。《数学规划》可作为应用......一起来看看 《数学规划》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码