AI rapide
Réseaux de neurones en ruby

Rubyfann, ou "Ruby-Fann" est un joyau de rubis (pas de rails requis) qui se lie à Fann (réseau neuronal artificiel rapide) à l'intérieur d'un environnement Ruby / Rails. Fann est A est une bibliothèque de réseaux de neurones open source indigène gratuite, qui met en œuvre des réseaux de neurones artificiels multicouches, prenant en charge les réseaux entièrement connectés et peu connectés. Il est facile à utiliser, polyvalent, bien documenté et rapide. RubyFann fait du travail avec les réseaux de neurones un jeu d'enfant en utilisant ruby , avec l'avantage supplémentaire que la plupart des levés lourds se font nativement.
Une conférence donnée par notre ami Ethan des studios Big-OH à Lone Star Ruby 2013: http://confreaks.com/videos/2609-Lonestarruby2013-neural-networks-with-robyfann
Ajoutez cette ligne à Gemfile de votre application:
gem 'ruby-fann'
Puis exécuter:
$ bundle
Ou installez-le vous-même comme:
$ gem install ruby-fann
Tout d'abord, allez ici et lisez sur Fann. Vous n'avez pas besoin de l'installer avant d'utiliser le gemme, mais Comprendre Fann vous aidera à comprendre ce que vous pouvez faire avec le Gem Ruby-Fann: http://leenissen.dk/fann/
Documentation Ruby-Fann: http://tangledpath.github.io/ruby-fann/index.html
require 'ruby-fann'
train = RubyFann :: TrainData . new ( :inputs => [ [ 0.3 , 0.4 , 0.5 ] , [ 0.1 , 0.2 , 0.3 ] ] , :desired_outputs => [ [ 0.7 ] , [ 0.8 ] ] )
fann = RubyFann :: Standard . new ( :num_inputs => 3 , :hidden_neurons => [ 2 , 8 , 4 , 3 , 4 ] , :num_outputs => 1 )
fann . train_on_data ( train , 1000 , 10 , 0.1 ) # 1000 max_epochs, 10 errors between reports and 0.1 desired MSE (mean-squared-error)
outputs = fann . run ( [ 0.3 , 0.2 , 0.4 ] ) train . save ( 'verify.train' )
train = RubyFann :: TrainData . new ( :filename => 'verify.train' )
# Train again with 10000 max_epochs, 20 errors between reports and 0.01 desired MSE (mean-squared-error)
# This will take longer:
fann . train_on_data ( train , 10000 , 20 , 0.01 ) fann . save ( 'foo.net' )
saved_nn = RubyFann :: Standard . new ( :filename => "foo.net" )
saved_nn . run ( [ 0.3 , 0.2 , 0.4 ] )Cette fonction de rappel peut être appelée lors de l'entraînement lors de l'utilisation de Train_on_data, Train_on_file ou Cascadetrain_on_data.
Il est très utile pour faire des choses personnalisées pendant la formation. Il est recommandé d'utiliser cette fonction lors de la mise en œuvre de procédures de formation personnalisées, ou lors de la visualisation de la formation dans une interface graphique, etc. L'args que prend la fonction de rappel est les paramètres donnés à la formation pris jusqu'à présent.
La méthode de rappel doit renvoyer un entier, si la fonction de rappel renvoie -1, la formation se terminera.
Le rappel (Training_Callback) sera automatiquement appelé s'il est implémenté sur votre sous-classe comme suit:
class MyFann < RubyFann :: Standard
def training_callback ( args )
puts "ARGS: #{ args . inspect } "
0
end
endhttps://github.com/bigohstudios/tictactoe
git checkout -b my-new-feature )git commit -am 'Add some feature' )git push origin my-new-feature )