安装适用于 Java 的 TensorFlow安装适用于 Java 的 TensorFlow

安装适用于 Java 的 TensorFlow

TensorFlow 可提供在 Java 程序中使用的 API。这些 API 特别适合用于加载以 Python 语言创建的模型并在 Java 应用中运行这些模型。本指南将介绍如何安装适用于 Java 的 TensorFlow 并在 Java 应用中使用 TensorFlow。

警告:TensorFlow Java API 不在 TensorFlow API 稳定性保障的涵盖范围内。

支持的平台

本指南介绍如何安装适用于 Java 的 TensorFlow。虽然这些说明可能也适用于其他配置,但我们只在满足以下要求的计算机上验证过这些说明(而且我们只支持在此类计算机上按这些说明操作):

  • Ubuntu 16.04 或更高版本;64 位、x86
  • macOS X 10.11 (El Capitan) 或更高版本
  • Windows 7 或更高版本;64 位、x86

针对 Android 的安装说明位于单独的 Android TensorFlow 支持页面中。安装完成后,请查看这个适用于 Android 的完整 TensorFlow 示例

在 Maven 项目中使用 TensorFlow

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

<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>tensorflow</artifactId>
  <version>1.6.0</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>
       <!-- 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.6.0</version>
       </dependency>
     </dependencies>
 </project>
  1. 创建源文件 (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"));
      }
    }
  }
}
  1. 编译并执行:
# Use -q to hide logging from the mvn tool
 mvn -q compile exec:java

上述命令应该会输出Hello from 版本 。如果是这样,则说明您已成功设置适用于 Java 的 TensorFlow,随时可以在 Maven 项目中使用此 API。如果不是,请访问 Stack Overflow 查找可行的解决方案。您可以跳过本文档的其余部分。

https://www.tensorflow.org/install/install_java

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏cloudskyme

设计模式(5)-己所不欲,施之于人(代理模式)

什么是代理?在我们的日常生活中的例子非常多。 比如上网有的时候使用代理服务器,通过代理上网,这就是代理的一个非常常见的例子。 从这里边可以看到3个对象:真实网路...

3374
来自专栏算法channel

TensorFlow笔记|Get Started

本系列推送主要参考: Stanford University CS20SI: Tensorflow for Deep Learning Research. Te...

3618
来自专栏贾老师の博客

【笔记】高性能服务器设计

1244
来自专栏智能计算时代

Envoy架构概览(5):负载均衡

负载均衡 当过滤器需要获取到上游群集中主机的连接时,群集管理器使用负载平衡策略来确定选择哪个主机。 负载平衡策略是可插入的,并且在配置中以每个上游集群为基础进行...

3857
来自专栏北京马哥教育

用Linux命令行生成随机密码的十种方法

Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它。例如,你可以通过数十种方法来生成随机密码。本文将介绍生成随机密码的十种方法。 ...

3066
来自专栏hotqin888的专栏

HydroCMS-用ueditor无法实现word中图片转存的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

1911
来自专栏人工智能LeadAI

TensorFlow会话的配置项

01 TensorFlow配置项的文档位于这里 TensorFlow可以通过指定配置项,来配置需要运行的会话,示例代码如下: run_config = tf.C...

4924
来自专栏菩提树下的杨过

利用mybatis-generator自动生成代码

mybatis-generator有三种用法:命令行、eclipse插件、maven插件。个人觉得maven插件最方便,可以在eclipse/intellij ...

3435
来自专栏计算机视觉与深度学习基础

Leetcode 62 Unique Paths

A robot is located at the top-left corner of a m x n grid (marked 'Start' in th...

2188
来自专栏运维前线

使用MySQL community 源安装MySQL

使用MySQL community 源安装MySQL 添加MySQL Yum源 下载:http://dev.mysql.com/downloads/repo/y...

2407

扫码关注云+社区