JavaFX + ND4J〜数学への挑戦1:ND4Jのインストール〜

イントロダクション

機械学習を理解するために「どうしたら良いか?」を考えていたら行列を使える必要があることに気が付きました。
機械学習、ディープラーニングなどでよく目にするPythonでは「NumPy」というライブラリ?があるのですが、それのJava版がND4Jだということで早速使ってみたいと思いました。

計算など行うので、BigDecimalを使えた方が良いですので下に参考を載せておきます。

今回ではないですが、ゲームのマップ作製・コントロールにもND4Jを使ってみました。
例としては次のようなイメージです。
『行列を使用して、マップを作成しました。3列X3列のマップです。「1」がゴールです。』

( 0 0 0 0 0 0 1 0 )

縦✕横を示しています。

ND4Jのインストール

こちらのサイトを参考にしました。下のようにPOMファイルに追記します。

<peoperties>
  <nd4j.version>0.7.2</nd4j.version>
</properties>
    ・
    ・
    ・

<dependency>
   <groupId>org.nd4j</groupId>
   <artifactId>nd4j-native-platform</artifactId>
   <version>${nd4j.version}</version>
</dependency>


ちなみにプロジェクトのMaven化は下のような感じです。

Mavenのサイトで詳細な情報が観れます。ちなみに参考サイトのND4Jのバージョンは7.xでしたが、最新(2019/02/14現在)のバージョンは0.9.1でした(安定版)

https://mvnrepository.com/artifact/org.nd4j/nd4j-api

ちなみにここから「JAR」ファイルをダウンロードできます。

ダウンロードしたらEclipseのビルドパスに追加します。下のような感じです。

ND4Jをインストールし終わると以下のような感じになります。

ND4Jを動かしてみる

public class FirstNd4j {

   public static void main(String[] args) {

      INDArray arr = Nd4j.zeros(3);

      System.out.println(arr);
   }
}

ND4J版のハローワールドです。

処理としては、ゼロ埋めした配列を、配列長3で作成して表示するというものです。

でわでわ。。。

  1. Java 初めてでも大丈夫〜ステップアッププログラミングのススメ〜
  2. ステップアッププログラミング〜Java FxHelloWorld解説〜
  3. Java StepUpProgramingJavaFX で四則計算〜
  4. Java StepUpProgramingJavaFXで画面切り替えを作る1
  5. Java StepUpProgramingJavaFXで画面切り替え2ボタン作成〜
  6. Java StepUpProgramingJavaFXで画面切り替え3アクション〜
  7. Java StepUpProgramingJavaFXで画面切り替え4Pane切り替え〜
  8. Java StepUpProgramingJavaFXで画面切り替え5WebEngine

 



投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す