文档章节

安装TensorFlow for Java

片刻
 片刻
发布于 2017/06/13 21:43
字数 1218
阅读 3617
收藏 3

 

 

 

原文链接 : https://www.tensorflow.org/install/install_java

译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=10029603

贡献者 : 片刻 ApacheCN Apache中文网

TensorFlow提供用于Java程序的API。这些API特别适合加载使用Python创建的模型,并在Java应用程序中执行它们。本指南介绍如何安装 TensorFlow for Java 并将其用于Java应用程序。

警告: TensorFlow API API 不在 TensorFlow API稳定性保证范围内

支持的平台

以下操作系统支持TensorFlow for Java:

  • Linux
  • Mac OS X
  • Windows
  • Android

Android的安装说明在一个单独的 Android TensorFlow支持页面。安装完成后,请参阅 Android上的TensorFlow的完整示例

使用TensorFlow与Maven项目

如果您的项目使用Apache Maven,则将以下内容添加到项目中pom.xml以使用TensorFlow Java API:

<dependency>

  <groupId>org.tensorflow</groupId>

  <artifactId>tensorflow</artifactId>

  <version>1.1.0</version>

</dependency> 

就这样。

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

  1. 创建项目的pom.xml

    <project>

         <modelVersion>4.0.0</modelVersion>

         <groupId>org.myorg</groupId>

         <artifactId>label-image</artifactId>

         <version>1.0-SNAPSHOT</version>

         <properties>

           <exec.mainClass>HelloTF</exec.mainClass>

           <!-- The sample code requires at least JDK 1.7-->

           <!-- The maven compiler plugin defaults to a lower version -->

           <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.1.0</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();

     

          // Construct the computation graph with a single operation, a constant

          // named "MyConst" with a value "value".

          try (Tensor t = Tensor.create(value.getBytes("UTF-8"))) {

            // The Java API doesn't yet include convenience functions for adding operations.

            g.opBuilder("Const""MyConst").setAttr("dtype", t.dataType()).setAttr("value", t).build();

          }

     

          // Execute the "MyConst" operation in a Session.

          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工具中隐藏日志记录

      mvn -compile exec:java

前面的命令应该从版本输出Hello。如果这样做,您已经成功地设置了TensorFlow for Java,并准备在Maven项目中使用它。如果没有,请检查 堆栈溢出 可能的解决方案。您可以跳过阅读本文档的其余部分。

 

使用TensorFlow与JDK

本节介绍如何使用TensorFlow javajavac JDK安装中的命令。如果您的项目使用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”的部分。

  3. 通过运行以下shell命令,为您的操作系统和处理器支持下载并提取相应的Java Native Interface(JNI)文件:

    TF_TYPE="cpu" # Default processor is CPU. If you want GPU, set to "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.1.0.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();

 

      // Construct the computation graph with a single operation, a constant

      // named "MyConst" with a value "value".

      try (Tensor t = Tensor.create(value.getBytes("UTF-8"))) {

        // The Java API doesn't yet include convenience functions for adding operations.

        g.opBuilder("Const""MyConst").setAttr("dtype", t.dataType()).setAttr("value", t).build();

      }

 

      // Execute the "MyConst" operation in a Session.

      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。例如,您可以通过使用编译标志将下载.jar到您classpath的内容中-cp,如下所示:

javac -cp libtensorflow-1.1.0.jar HelloTF.java 

运行

要执行依赖于TensorFlow的Java程序,请确保以下两个文件可用于JVM:

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

例如,以下命令行执行HelloTF程序:

java -cp libtensorflow-1.1.0.jar:. -Djava.library.path=./jni HelloTF

如果程序从版本中输出Hello,那么您已经成功安装了TensorFlow for Java并准备好使用API。如果程序输出其他内容,请检查 堆栈溢出 以获得可能的解决方案。

高级示例

有关更复杂的示例,请参阅 LabelImage.java,它识别图像中的对象。

 

从源代码构建

TensorFlow是开源的。您可以通过单独的文档中的说明从TensorFlow源代码构建用于Java的TensorFlow。

© 著作权归作者所有

共有 人打赏支持
片刻
粉丝 96
博文 268
码字总数 306559
作品 0
海淀
高级程序员
如何部署tensorflow训练的模型

最近深度学习算法被广泛研究和应用,而tensorflow则是被应用最为广泛的工具。tensorflow训练的模型被应用在线上时,主要有3种方式(本文主要讨论java方向的应用): 1:java代码重写预测代码(...

lirainbow0
05/29
0
0
Java调用Keras、Tensorflow模型

实现python离线训练模型,Java在线预测部署。查看原文 目前深度学习主流使用python训练自己的模型,有非常多的框架提供了能快速搭建神经网络的功能,其中Keras提供了high-level的语法,底层可...

ioiogoo
04/03
0
0
TensorFlow in Android

首先说明以下,这只是把实践的过程叙述以下。 参考文章:在Android中借助TensorFlow使用机器学习(译) Android TensorFlow Machine Learning Example(科学上网你懂的 0、前言 环境 系统:D...

孟飞阳
07/15
0
0
Tensorflow related

How to Retrain Inception's Final Layer for New Categories 步骤: 一 Installing TensorFlow on Ubuntu https://www.tensorflow.org/install/install_linux 二 Install Bazel on Ubuntu......

CamilleIT
06/29
0
0
XLearning 安装说明文档

一、版本说明 hadoop 2.7.3 TensorFlow 1.1.0 xlearning 1.1 java 1.8.0 pyton 2.7.5 二、系统环境安装 1. 安装java 下载jdk-8u73-linux-x64.tar.gz包,解压,并放置到指定目录(如:/opt/XLe...

mnasd
04/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

kernel version does not match DSO version

错误信息: kernel version 384.11 does not match DSO version 384.130.0 原因是: cuda driver版本太低,不匹配DSO 简单有效的修复方法,升级nvidia driver, 步骤如下: 1. google seach ...

刘小米
今天
0
0
maven坐标和依赖

一、maven坐标详解 <groupId>com.fgt.club</groupId><artifactId>club-common-service-facade</artifactId><version>3.0.0</version><packaging>jar</packaging> maven的坐标元素说......

老韭菜
今天
1
0
springmvc-servlet.xml配置表功能解释

问:<?xml version="1.0" encoding="UTF-8" ?> 答: xml version="1.0"表示是此xml文件的版本是1.0 encoding="UTF-8"表示此文件的编码方式是UTF-8 问:<!DOCTYPE beans PUBLIC "-//SPRING//......

隐士族隐逸
今天
1
0
基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部