イントロダクション
機械学習を理解するために「どうしたら良いか?」を考えていたら行列を使える必要があることに気が付きました。
機械学習、ディープラーニングなどでよく目にするPythonでは「NumPy」というライブラリ?があるのですが、それのJava版がND4Jだということで早速使ってみたいと思いました。
計算など行うので、BigDecimalを使えた方が良いですので下に参考を載せておきます。
今回ではないですが、ゲームのマップ作製・コントロールにもND4Jを使ってみました。
例としては次のようなイメージです。
『行列を使用して、マップを作成しました。3列X3列のマップです。「1」がゴールです。』
縦✕横を示しています。
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で作成して表示するというものです。
でわでわ。。。
- Java 初めてでも大丈夫〜ステップアッププログラミングのススメ〜
- ステップアッププログラミング〜Java FxでHelloWorld解説〜
- Java StepUpPrograming〜JavaFX で四則計算〜
- Java StepUpPrograming〜JavaFXで画面切り替えを作る1〜
- Java StepUpPrograming〜JavaFXで画面切り替え2ボタン作成〜
- Java StepUpPrograming〜JavaFXで画面切り替え3アクション〜
- Java StepUpPrograming〜JavaFXで画面切り替え4Pane切り替え〜
- Java StepUpPrograming〜JavaFXで画面切り替え5WebEngine〜
