
Tinn (Tiny Neural Network) adalah 200 lini ketergantungan Library Neural Network Free yang ditulis dalam C99.
Untuk demo tentang cara mempelajari digit tertulis tangan, dapatkan beberapa data pelatihan:
wget http://archive.ics.uci.edu/ml/machine-learning-databases/semeion/semeion.data
make; ./test
Data pelatihan terdiri dari digit tertulis tangan yang ditulis perlahan maupun dengan cepat. Setiap baris dalam set data sesuai dengan satu digit tulisan tangan. Setiap digit berukuran 16x16 piksel yang memberikan 256 input ke jaringan saraf.
Di akhir baris 10 digit menandakan digit tertulis tangan:
0: 1 0 0 0 0 0 0 0 0 0
1: 0 1 0 0 0 0 0 0 0 0
2: 0 0 1 0 0 0 0 0 0 0
3: 0 0 0 1 0 0 0 0 0 0
4: 0 0 0 0 1 0 0 0 0 0
...
9: 0 0 0 0 0 0 0 0 0 1
Ini memberikan 10 output ke jaringan saraf. Program pengujian akan menghasilkan akurasi untuk setiap digit. Harapkan di atas 99% akurasi untuk digit yang benar, dan lebih sedikit akurasi 0,1% untuk angka lainnya.
Portabel - Berjalan di mana ada kompiler C99 atau C ++ 98.
Aktivasi sigmoidal.
Satu lapisan tersembunyi.
Tinn tidak akan pernah menggunakan lebih dari perpustakaan standar C.
Tinn bagus untuk sistem tertanam. Latih model pada desktop yang kuat dan muatkan ke mikrokontroler dan gunakan konverter analog ke digital untuk memprediksi peristiwa waktu nyata.
Kode Sumber Tinn akan selalu kurang dari 200 baris. Fungsi yang diorfer dalam header tinn dilindungi dengan namespace XT yang berdiri untuk tinn yang dieksterned .
Tinn dapat dengan mudah multi-threaded dengan sedikit kecerdikan tetapi cabang master akan tetap berulir tunggal untuk membantu pengembangan sistem tertanam.
Tinn tidak menyemai generator bilangan acak. Jangan lupa melakukannya sendiri.
Selalu kocok data input Anda. Ambil lagi setelah setiap pelatihan iterasi.
Dapatkan akurasi pelatihan yang lebih besar dengan menganut tingkat pembelajaran Anda. Misalnya, kalikan tingkat pembelajaran Anda dengan 0,99 setiap iterasi pelatihan. Ini akan memusatkan perhatian pada minimum pembelajaran yang baik.
Tinn adalah praktik minimalis.
Tinn bukan perpustakaan jaringan saraf C yang sepenuhnya ditampilkan seperti Kann, atau Genann:
https://github.com/attractivechaos/kann
https://github.com/codeplea/genann
Rust: https://github.com/dvdplm/rustinn
Tutorial menggunakan tinn nn dan ctypes
Perpustakaan Jaringan Saraf Kecil di 200 baris kode