تاریخ را ذخیره کنید! Google I / O 18-20 مه بازمی گردد اکنون ثبت نام کنید
این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

TensorFlow جاوا را نصب کنید

TensorFlow Java می تواند بر روی هر JVM برای ساخت ، آموزش و استقرار مدل های یادگیری ماشین کار کند. این برنامه از هر دو پردازشگر و پردازنده گرافیکی ، به صورت نمودار یا حالت اشتیاق پشتیبانی می کند و یک API غنی برای استفاده از TensorFlow در یک محیط JVM ارائه می دهد. جاوا و سایر زبانهای JVM ، مانند Scala و Kotlin ، اغلب در شرکتهای بزرگ و کوچک در سراسر جهان مورد استفاده قرار می گیرند ، که TensorFlow Java را به یک انتخاب استراتژیک برای پذیرش یادگیری ماشین در مقیاس بزرگ تبدیل می کند.

الزامات

TensorFlow Java با Java 8 به بالا قابل اجرا است و از سیستم عامل های زیر خارج از جعبه پشتیبانی می کند:

  • اوبونتو 16.04 یا بالاتر ؛ 64 بیتی ، x86
  • macOS 10.12.6 (سیرا) یا بالاتر ؛ 64 بیتی ، x86
  • ویندوز 7 یا بالاتر ؛ 64 بیتی ، x86

نسخه ها

TensorFlow Java ، مستقل از زمان اجرا TensorFlow ، چرخه انتشار خاص خود را دارد. در نتیجه ، نسخه آن با نسخه زمان اجرا TensorFlow مطابقت ندارد. برای لیست تمام نسخه های موجود و ترسیم آنها با زمان اجرا TensorFlow ، به جدول نسخه سازی TensorFlow Java مراجعه کنید.

مصنوعات

روش های مختلفی برای افزودن TensorFlow Java به پروژه شما وجود دارد. ساده ترین آنها افزودن وابستگی به tensorflow-core-platform است که شامل TensorFlow Java Core API و وابستگی های بومی مورد نیاز برای اجرای در همه سیستم عامل های پشتیبانی شده است.

همچنین می توانید به جای نسخه خالص CPU یکی از پسوندهای زیر را انتخاب کنید:

  • tensorflow-core-platform-mkl : پشتیبانی از Intel® MKL-DNN در همه سیستم عامل ها
  • tensorflow-core-platform-gpu : پشتیبانی از CUDA® در سیستم عامل های لینوکس و ویندوز
  • tensorflow-core-platform-mkl-gpu : پشتیبانی از Intel® MKL-DNN و CUDA® در سیستم عامل لینوکس.

علاوه بر این ، می توان وابستگی جداگانه ای به کتابخانه tensorflow-framework اضافه کرد تا از مجموعه tensorflow-framework از ابزارهای یادگیری ماشین مبتنی بر TensorFlow در JVM بهره مند شوید.

نصب با Maven

برای شامل TensorFlow در خود Maven را برنامه، اضافه کردن وابستگی به آن مصنوعات را به پروژه خود را pom.xml فایل. مثلا،

<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>tensorflow-core-platform</artifactId>
  <version>0.3.1</version>
</dependency>

کاهش تعداد وابستگی ها

توجه به این نکته مهم است که افزودن وابستگی به tensorflow-core-platform کتابخانه های بومی را برای همه سیستم عامل های پشتیبانی شده وارد می کند ، که می تواند اندازه پروژه شما را به میزان قابل توجهی افزایش دهد.

اگر می خواهید زیرمجموعه ای از سیستم عامل های موجود را هدف قرار دهید ، می توانید با استفاده از ویژگی Maven Dependency Exclusion ، مصنوعات غیرضروری را از سیستم عامل های دیگر حذف کنید.

روش دیگر برای انتخاب سیستم عامل هایی که می خواهید در برنامه خود بگنجانید ، تنظیم ویژگی های سیستم JavaCPP ، در خط فرمان Maven یا pom.xml . لطفاً برای جزئیات بیشتر به اسناد JavaCPP مراجعه کنید.

با استفاده از عکسهای فوری

آخرین عکسهای TensorFlow Java توسعه از مخزن منبع TensorFlow Java در مخزن OSS Sonatype Nexus موجود است. برای اینکه به این مصنوعات وابسته باشید ، مطمئن شوید که مخزن عکسهای OSS را در pom.xml خود پیکربندی کنید.

<repositories>
    <repository>
        <id>tensorflow-snapshots</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.tensorflow</groupId>
        <artifactId>tensorflow-core-platform</artifactId>
        <version>0.4.0-SNAPSHOT</version>
    </dependency>
</dependencies>

نصب با Gradle

برای قرار دادن TensorFlow در برنامه Gradle خود ، وابستگی به مصنوعات آن را به پرونده build.gradle پروژه خود build.gradle کنید. مثلا،

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.tensorflow', name: 'tensorflow-core-platform', version: '0.3.1'
}

کاهش تعداد وابستگی ها

حذف مصنوعات بومی از TensorFlow Java با Gradle به آسانی Maven نیست. توصیه می کنیم برای کاهش این تعداد وابستگی از پلاگین های Gradle JavaCPP استفاده کنید.

برای اطلاعات بیشتر لطفاً در مستندات Gradle JavaCPP مطالعه کنید.

در حال نصب از منابع

برای ساختن TensorFlow Java از منابع ، و احتمالاً شخصی سازی آن ، لطفاً دستورالعمل های زیر را بخوانید.

برنامه مثال

این مثال نحوه ساخت یک پروژه Apache Maven را با TensorFlow نشان می دهد. ابتدا وابستگی TensorFlow را به پرونده pom.xml پروژه اضافه کنید:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.myorg</groupId>
    <artifactId>hellotensorflow</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <exec.mainClass>HelloTensorFlow</exec.mainClass>
        <!-- Minimal version for compiling TensorFlow Java is JDK 8 -->
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>
        <!-- Include TensorFlow (pure CPU only) for all supported platforms -->
        <dependency>
            <groupId>org.tensorflow</groupId>
            <artifactId>tensorflow-core-platform</artifactId>
            <version>0.3.1</version>
        </dependency>
    </dependencies>
</project>

فایل منبع src/main/java/HelloTensorFlow.java :

import org.tensorflow.ConcreteFunction;
import org.tensorflow.Signature;
import org.tensorflow.Tensor;
import org.tensorflow.TensorFlow;
import org.tensorflow.op.Ops;
import org.tensorflow.op.core.Placeholder;
import org.tensorflow.op.math.Add;
import org.tensorflow.types.TInt32;

public class HelloTensorFlow {

  public static void main(String[] args) throws Exception {
    System.out.println("Hello TensorFlow " + TensorFlow.version());

    try (ConcreteFunction dbl = ConcreteFunction.create(HelloTensorFlow::dbl);
        TInt32 x = TInt32.scalarOf(10);
        Tensor dblX = dbl.call(x)) {
      System.out.println(x.getInt() + " doubled is " + ((TInt32)dblX).getInt());
    }
  }

  private static Signature dbl(Ops tf) {
    Placeholder<TInt32> x = tf.placeholder(TInt32.class);
    Add<TInt32> dblX = tf.math.add(x, x);
    return Signature.builder().input("x", x).output("dbl", dblX).build();
  }
}

کامپایل و اجرا کنید:

mvn -q compile exec:java

این دستور نسخه TensorFlow و یک محاسبه ساده را چاپ می کند.

موفق باشید! TensorFlow جاوا پیکربندی شده است.