LinuxでのFANNニューラルネットワークのインストール

Debianオペレーティングシステム(Linuxディストリビューションの1つ)にFast Artificial Neural Networkライブラリをインストールします。 ライブラリをインストールする方法は2つあります。



  1. リポジトリからのインストール
  2. すべての要素を個別にインストールします。


もちろん最初の方法はインストールを少し簡単にしますが、それは価値がありません。 それは私が実際に直面しなければならなかったものです。 Debianにインストールする必要があるとき。 最初の方法を説明したインストールガイドを見つけました。 それを流fluentに読み、すでに喜ぶことができたので(長い間ではなく、将来的に判明)、マニュアルに記載されているライブラリをインストールするためのすべてのステップを正確に実行し始めました。 ニュアンスは生じませんでした。 ライブラリとPHPの拡張機能もインストールされているようです。 すべてが機能しているように見えました。 しかし、そこにはありませんでした。 最初にdenwereで使用したニューラルネットワークを接続しました 。 しかし、結果はゼロでした。 ライブラリ自体の初期化さえ行われなかったことが判明しました。 他のリソースからインストールガイドと同様のマニュアルを読み直した後、私はすべてが機能するはずであることに気付きました。 しかし、最終的には何も機能しませんでした。 インストールの問題を解決するのに2日かかりました。 考えられるすべてのオプション(そしてあまり多くはありませんでした)が使い果たされたとき、ライブラリ自体のリポジトリからの配布が「壊れた」としたらどうなるか、考えがフラッシュしました。 そして、後になって判明したように、その通りに。 したがって、2番目のインストール方法を使用することをお勧めします。その結果、すべてが機能し、神経が完全に整頓されます。



インストール開始



インストールには、次のツールが必要です。



  1. プログラムを作る
  2. gccコンパイラ;
  3. php5-devパッケージのphpizeユーティリティ。


最初の2つのツールが既にインストールできる場合、3番目のツールはインストールされない可能性があります。 ただし、念のため、3つすべてを確認します。



  dpkg -l |  grep make
 ii makedev 2.3.1-88は/ devにデバイスファイルを作成します
 dpkg -l |  grep gcc
 ii gcc-3.3-base 1:3.3.6-15 GNU Compiler Collection(ベースパッケージ)
 ii gcc-4.1-base 4.1.2-25 GNU Compiler Collection(ベースパッケージ)
 ii gcc-4.3-base 4.3.2-1.1 GNU Compiler Collection(ベースパッケージ)
 ii libgcc1 1:4.3.2-1.1 GCCサポートライブラリ
 dpkg -l |  grep php5-dev 


さて、予想どおり、実際には何もインストールされていません。 インストールを開始する前に、リポジトリを更新することをお勧めします。 これを行うには、次のコマンドを使用します。



  apt-get update 


次に、不足しているツールをインストールする必要があります。



  apt-get install make make
 apt-get gccのインストール
 apt-getインストールphp5-dev 


次に、Fast Artificial Neural Networkライブラリのどのパッケージをインストールするかを知るために、アーキテクチャに関する情報を取得する必要があります(ただし、Debianは間違ったアーキテクチャのパッケージのインストールを許可しません)。 これを行うには、次のコマンドを使用します。



 うなめ–m 


その結果、サーバーには次のアーキテクチャがあることがわかります。



  i686 


/ usr / local / srcディレクトリに移動し、i686アーキテクチャ用の次のパッケージをダウンロードします。



  cd / usr / local / src
 wget http://ubuntu.mirror.cambrium.nl/ubuntu//pool/universe/libf/libfann1/
 libfann1_1.2.0-1_i386.deb
 wget http://ubuntu.mirror.cambrium.nl/ubuntu//pool/universe/libf/libfann1/
 libfann1-dev_1.2.0-1_i386.deb 


すべてがダウンロードされていることを確認してください:



  ls -1
 libfann1_1.2.0-1_i386.deb
 libfann1-dev_1.2.0-1_i386.deb 


次に、特定の順序でインストールする必要があります。



  dpkg -i libfann1_1.2.0-1_i386.deb
 dpkg -i libfann1-dev_1.2.0-1_i386.deb 


PHPの拡張機能をインストールする



拡張機能のインストールを開始するには、ダウンロードする必要があります。



  wget http://pecl.php.net/get/fann 


所定の場所で確認またはアーカイブします。

  ls -1
ファン 




次に、展開する必要があります。



  tar xvfz fann
 package.xml
 fann-0.1.1 / config.m4
 fann-0.1.1 / fann.c
 fann-0.1.1 / php_fann.h
 fann-0.1.1 / demo.php
 fann-0.1.1 /クレジット
 fann-0.1.1 /実験 


次に、ディレクトリ/usr/local/src/fann-0.1.1に移動します



  cd fann-0.1.1 


すべて、すべてをコンパイルするだけです。 最初に、 phpizeコマンドを実行する必要があります。 これにより、PHP拡張機能の環境が準備されます。



  phpize
の構成:
 PHP APIバージョン:20090626
 Zend Module API No:20090626
 Zend Extension API番号:220090626 


次に、 構成スクリプトを実行します



  ./configure 


以上で、 makeプログラムを使用してPHP拡張モジュールをアセンブルできます。



 作る 


次の行に似たものが表示される場合:



  fann.c:393:エラー: 'zif_fannOO___set'は宣言されていません(この関数で最初に使用)
 fann.c:393:エラー:(各宣言されていない識別子は一度だけ報告されます
 fann.c:393:エラー:機能ごとに表示されます。)
 fann.c:403:エラー:b-?zif_fannOO ___ getb-? 未宣言(この関数で最初に使用) 


php_fann.hファイルの28行目#define PHP_FANN_OO 1をコメントアウトする必要があります。 そして、プログラムの呼び出しを繰り返します。



 作る
 libtool:インストール:cp ./.libs/fann.so /usr/local/src/fann-0.1.1/modules/fann.so
 libtool:インストール:cp ./.libs/fann.lai /usr/local/src/fann-0.1.1/modules/fann.la
 libtool:finish:PATH = "/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin:
 / sbin "ldconfig -n /usr/local/src/fann-0.1.1/modules
 -------------------------------------------------- --------------------
ライブラリは次の場所にインストールされています。
    /usr/local/src/fann-0.1.1/modules

インストールされたライブラリに対してリンクしたい場合
指定されたディレクトリLIBDIRで、libtoolを使用する必要があります。
ライブラリのフルパス名を指定するか、-LLIBDIRを使用します
リンク中にフラグを立て、次の少なくとも1つを実行します。
    -LIBDIRを `LD_LIBRARY_PATH '環境変数に追加します
     実行中
    -LIBDIRを `LD_RUN_PATH '環境変数に追加します
     リンク中
    -`-Wl、-rpath -Wl、LIBDIR 'リンカーフラグを使用
    -システム管理者にLIBDIRを `/etc/ld.so.confに追加してもらいます

共有ライブラリに関するオペレーティングシステムのドキュメントを参照してください
 ld(1)およびld.so(8)のマニュアルページなどの詳細情報。
 -------------------------------------------------- --------------------

ビルドが完了しました。
 'make test'を実行することを忘れないでください。 


すべて、拡張機能が組み立てられ、それをインストールするために残ります:



 インストールする
共有拡張機能のインストール:/ usr / lib / php5 / 20090626 / 


拡張機能を/etc/php5/cli/php.iniに追加した場合、モジュールが次のコマンドで接続されているかどうかを確認できます。

  php -m | グレップ・ファン
ファン 


私は個人的にどこでもすぐに設定を同期しようとしています:







ライブラリをテストするには、demo.phpモジュールを実行する必要があります。 /usr/local/src/fann-0.1.1ディレクトリにあります。

まだ小さなニュアンスがあります。 このライブラリでは、別のバージョンのFast Artificial Neural Networkライブラリでトレーニングされたネットワークを使用できない場合があります。 Linuxで再トレーニングする必要があります。 しかし、それは何も悪いことではありません。



All Articles