TensorFlow Java'yı yükleyin

TensorFlow Java, makine öğrenimi modellerini oluşturmak, eğitmek ve dağıtmak için herhangi bir JVM'de çalışabilir. Grafik veya istekli modda hem CPU hem de GPU yürütmeyi destekler ve TensorFlow'un JVM ortamında kullanılması için zengin bir API sunar. Java ve Scala ve Kotlin gibi diğer JVM dilleri dünyanın her yerindeki büyük ve küçük işletmelerde sıklıkla kullanılıyor ve bu da TensorFlow Java'yı makine öğrenimini büyük ölçekte benimsemek için stratejik bir seçim haline getiriyor.

Gereksinimler

TensorFlow Java, Java 8 ve üzeri sürümlerde çalışır ve kullanıma hazır aşağıdaki platformları destekler:

  • Ubuntu 16.04 veya üzeri; 64 bit, x86
  • macOS 10.12.6 (Sierra) veya üzeri; 64 bit, x86
  • Windows 7 veya üzeri; 64 bit, x86

Sürümler

TensorFlow Java'nın TensorFlow çalışma zamanından bağımsız olarak kendi yayın döngüsü vardır. Sonuç olarak sürümü, üzerinde çalıştığı TensorFlow çalışma zamanı sürümüyle eşleşmiyor. Mevcut tüm sürümleri ve bunların TensorFlow çalışma zamanı ile eşlemelerini listelemek için TensorFlow Java sürüm oluşturma tablosuna bakın.

eserler

TensorFlow Java'yı projenize eklemenin birkaç yolu vardır. En kolayı, hem TensorFlow Java Core API'sini hem de desteklenen tüm platformlarda çalışması için gereken yerel bağımlılıkları içeren tensorflow-core-platform yapıtına bir bağımlılık eklemektir.

Saf CPU sürümü yerine aşağıdaki uzantılardan birini de seçebilirsiniz:

  • tensorflow-core-platform-mkl : Tüm platformlarda Intel® MKL-DNN desteği
  • tensorflow-core-platform-gpu : Linux ve Windows platformlarında CUDA® desteği
  • tensorflow-core-platform-mkl-gpu : Linux platformunda Intel® MKL-DNN ve CUDA® desteği.

Ek olarak, JVM'de TensorFlow tabanlı makine öğrenimine yönelik zengin yardımcı programlardan yararlanmak için tensorflow-framework kitaplığına ayrı bir bağımlılık eklenebilir.

Maven ile kurulum

TensorFlow'u Maven uygulamanıza dahil etmek için projenizin pom.xml dosyasına yapılarına bir bağımlılık ekleyin. Örneğin,

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

Bağımlılık Sayısının Azaltılması

Bir tensorflow-core-platform yapıtına bağımlılık eklemenin, desteklenen tüm platformlar için yerel kitaplıkları içe aktaracağını ve bunun da projenizin boyutunu önemli ölçüde artırabileceğini unutmamak önemlidir.

Mevcut platformların bir alt kümesini hedeflemek istiyorsanız Maven Bağımlılık Hariç Tutma özelliğini kullanarak gereksiz yapıları diğer platformlardan hariç tutabilirsiniz.

Uygulamanıza hangi platformları dahil etmek istediğinizi seçmenin başka bir yolu da Maven komut satırınızda veya pom.xml dosyanızda JavaCPP sistem özelliklerini ayarlamaktır. Daha fazla ayrıntı için lütfen JavaCPP belgelerine bakın.

Anlık Görüntüleri Kullanma

TensorFlow Java kaynak deposundaki en son TensorFlow Java geliştirme anlık görüntüleri OSS Sonatype Nexus deposunda mevcuttur. Bu yapılara bağlı olmak için pom.xml dosyanızda OSS anlık görüntü deposunu yapılandırdığınızdan emin olun.

<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 ile Kurulum

TensorFlow'u Gradle uygulamanıza dahil etmek için projenizin build.gradle dosyasına onun yapıtlarına bir bağımlılık ekleyin. Örneğin,

repositories {
    mavenCentral()
}

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

Bağımlılık Sayısının Azaltılması

Yerel yapıların TensorFlow Java'dan Gradle ile hariç tutulması Maven'de olduğu kadar kolay değildir. Bu bağımlılık sayısını azaltmak için Gradle JavaCPP eklentilerini kullanmanızı öneririz.

Daha fazla ayrıntı için lütfen Gradle JavaCPP belgelerini okuyun.

Kaynaklardan Yükleme

TensorFlow Java'yı kaynaklardan oluşturmak ve muhtemelen özelleştirmek için lütfen aşağıdaki talimatları okuyun.

Örnek Program

Bu örnek, TensorFlow ile bir Apache Maven projesinin nasıl oluşturulacağını gösterir. Öncelikle TensorFlow bağımlılığını projenin pom.xml dosyasına ekleyin:

<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.3</version>
        </dependency>
    </dependencies>
</project>

Kaynak dosyayı src/main/java/HelloTensorFlow.java oluşturun:

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();
  }
}

Derleyin ve çalıştırın:

mvn -q compile exec:java

Komut, TensorFlow sürümünü ve basit bir hesaplamayı yazdırır.

Başarı! TensorFlow Java yapılandırıldı.