Ini adalah pembungkus PHP untuk perpustakaan FANN (Fast Artificial Neural Network).
API didokumentasikan di http://www.php.net/manual/en/book.fann.php dimana merupakan dokumentasi lengkap untuk PHP FANN.
API ini sangat mirip dengan API FANN C resmi. Hanya fungsi untuk fann_type
yang diperbaiki belum dipetakan karena PHP selalu mendukung float
. Selain itu argumen yang tidak perlu untuk beberapa fungsi telah dihilangkan (misalnya panjang array yang tidak diperlukan untuk array PHP).
Ekstensi ini dapat diinstal di Linux dan Windows.
Sebelum Anda memulai instalasi, pastikan libfann
telah diinstal pada sistem Anda. Ini adalah bagian dari repositori utama di sebagian besar distribusi Linux (cari fann
). Jika belum, Anda perlu menginstalnya terlebih dahulu. Unduh dari situs resminya atau dapatkan dari repositori distro Anda. Misalnya di Ubuntu:
$ sudo apt-get install libfann-dev
Instalasi Fann dapat dilewati jika RPM untuk Fedora digunakan ( libfann
ada dalam dependensi paket).
Jika perpustakaan diinstal ulang secara manual, maka semua file perpustakaan lama harus dihapus sebelum menginstal ulang jika tidak, versi perpustakaan lama dapat ditautkan.
Paket RPM untuk PHP FANN tersedia di repositori Remi: http://rpms.famillecollet.com/
Ini tersedia untuk Fedora, RHEL dan klon (CentOS, SC, dan lainnya).
Setelah mengunduh RPM remi-release, paket dapat diinstal dengan menjalankan perintah berikut:
$ sudo yum --enablerepo=remi install php-pecl-fann
Ekstensi ini tersedia di PECL. Instalasinya sangat sederhana. Jalankan saja:
$ sudo pecl install fann
Penting untuk menginstal git karena diperlukan untuk pengambilan phpc secara rekursif.
Pertama, kloning repositori secara rekursif
git clone --recursive https://github.com/bukka/php-fann.git
Lalu buka direktori sumber yang dibuat dan kompilasi ekstensinya. Anda harus menginstal paket pengembangan php (perintah phpize
harus tersedia).
cd php-fann
phpize
./configure --with-fann
make
sudo make install
Jika Anda sedang membangun kembali ekstensi dan melihat peringatan tentang kesalahan ketidakcocokan versi Libtool, coba jalankan phpize --clean
atau jika tidak membantu, coba
aclocal && libtoolize --force && autoreconf
lalu jalankan kembali langkah kompilasi yang dimulai dengan phpize
.
Akhirnya Anda perlu menambahkan
extension=fann.so
ke php.ini
Pustaka dll
biner yang telah dikompilasi untuk php-fann dan libfann tersedia di halaman fann PECL. Versi kompilasi libfann adalah 2.2.
Ada tiga contoh proyek: Logic Gates, OCR & Pathfinder.
Contoh Sederhana melatih jaringan saraf tunggal untuk melakukan operasi XOR.
simple_train.php
simple_train_epoch.php
simple_test.php
simple_merge.php
Contoh Semua melatih 7 jaringan saraf terpisah untuk melakukan operasi AND, NAND, NOR, NOT, OR, XNOR & XOR.
kereta_semua.php
tes_semua.php
OCR adalah contoh praktis Pengenalan Karakter Optik menggunakan FANN. Meskipun contoh ini terbatas dan memang terdapat kesalahan, konsep yang diilustrasikan oleh OCR dapat diterapkan pada jaringan bertumpuk yang lebih kuat yang menggunakan ekstraksi fitur dan lapisan konvolusi untuk mengenali teks font apa pun dalam gambar ukuran apa pun.
kereta_ocr.php
tes_ocr.php
Pathfinder adalah contoh jaringan saraf yang mampu memplot jalur langkah 8 arah dari posisi awal dalam grid 5x5 ke posisi akhir dalam grid tersebut. Untuk menjaga agar contoh Pathfinder tetap sederhana, contoh ini tidak dilatih untuk menghadapi tembok atau medan yang tidak dapat dilalui, namun akan sangat mudah untuk menambahkannya dengan menambahkan pelatihan tambahan.
pathfinder_train.php
pathfinder_test.php