AI เร็ว
เครือข่ายประสาทใน ruby

Rubyfann หรือ "Ruby-Fann" เป็นอัญมณีทับทิม (ไม่จำเป็นต้องมีราง) ที่ผูกกับ Fann (เครือข่ายประสาทเทียมที่รวดเร็ว) จากภายในสภาพแวดล้อมทับทิม/ราง Fann เป็นห้องสมุด Neural Network Neural Network ซึ่งใช้เครือข่ายประสาทเทียมแบบหลายชั้นซึ่งสนับสนุนทั้งเครือข่ายที่เชื่อมต่ออย่างเต็มที่และเชื่อมต่อกัน มันใช้งานง่ายอเนกประสงค์บันทึกดีและรวดเร็ว RubyFann ทำให้การทำงานกับ Neural Networks เป็นเรื่องง่ายโดยใช้ ruby ด้วยประโยชน์เพิ่มเติมที่การยกหนักส่วนใหญ่ทำโดยธรรมชาติ
การพูดคุยโดยเพื่อนของเรา Ethan จาก Big-Oh Studios ที่ Lone Star Ruby 2013: http://confreaks.com/videos/2609-lonestarruby2013-Neural-networks-with-rubyfann
เพิ่มบรรทัดนี้ใน Gemfile ของแอปพลิเคชันของคุณ:
gem 'ruby-fann'
แล้วดำเนินการ:
$ bundle
หรือติดตั้งด้วยตัวเองเป็น:
$ gem install ruby-fann
ก่อนอื่นไปที่นี่และอ่านเกี่ยวกับ Fann คุณไม่จำเป็นต้องติดตั้งก่อนที่จะใช้อัญมณี แต่การทำความเข้าใจกับ Fann จะช่วยให้คุณเข้าใจสิ่งที่คุณสามารถทำได้กับ Ruby-Fann Gem: http://leenissen.dk/fann/
เอกสาร 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 ] )ฟังก์ชั่นการโทรกลับนี้สามารถเรียกได้ในระหว่างการฝึกอบรมเมื่อใช้ train_on_data, train_on_file หรือ cascadetrain_on_data
มันมีประโยชน์มากสำหรับการทำสิ่งที่กำหนดเองในระหว่างการฝึกอบรม ขอแนะนำให้ใช้ฟังก์ชั่นนี้เมื่อใช้ขั้นตอนการฝึกอบรมที่กำหนดเองหรือเมื่อแสดงภาพการฝึกอบรมใน GUI ฯลฯ ARGs ที่ฟังก์ชั่นการโทรกลับใช้คือพารามิเตอร์ที่มอบให้กับ Train_ON_DATA รวมถึงพารามิเตอร์ยุคที่บอกว่ามีการฝึกอบรมจำนวนเท่าใด ถ่ายจนถึงตอนนี้
วิธีการโทรกลับควรส่งคืนจำนวนเต็มหากฟังก์ชั่นการโทรกลับส่งคืน -1 การฝึกอบรมจะสิ้นสุดลง
การโทรกลับ (Training_Callback) จะถูกเรียกโดยอัตโนมัติหากมีการใช้งานในคลาสย่อยของคุณดังนี้:
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 ไปยังสาขา