fortran-keras bridge【インストール】

arxiv.org

Fortranからkerasが使えるようです。すごいなぁ。。

ここからインストールしてみます。

github.com

本家指示に従います。

$ git clone https://github.com/scientific-computing/FKB

次はビルド

$ sh build_steps.sh

/buildが作成されます。

実行を確認するために、とりあえずカレントディレクトリに、build/lib/libneural.aとbuiild/includeにシンボリックリンクを張っておきます。

$ ln -s /FKB/lib/libneural.a .
$ ln -s /FKB/build/include .

テスト用プログラムを作成します。もともとはいっていたやつをコピー。ついでに必要なファイルをコピー

$ cp /FKB/src/tests/test_keras.F90 .
$ cp /FKB/ExampleModels/simple_model.txt .

メインプログラムの中身はこんな感じ。

program test_keras
  use mod_kinds, only: ik, rk
  use mod_network, only: network_type

  implicit none

  type(network_type) :: net 

  real(rk), allocatable :: result1(:), input(:)
  character(len=100), dimension(:), allocatable :: args

  allocate(args(1))
  call get_command_argument(1,args(1))

  ! load trained network from keras
  call net % load(args(1))

  input = [1, 2, 3, 4, 5]

  ! run test input through network
  result1 = net % output(input)
  print *, result1

end program test_keras        

コンパイル

$ gfortran -Iinclude/ test.f90 libneural.a 

実行ファイルができましたので、実行。

$ ./a.out simple_model.txt
-3.60806547E-02   4.92016636E-02 

何かよくわからんけど、値が出てきたので正解でしょう。