ruby-fann 1.2.3 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -18,25 +18,38 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
+ First, Go here & read about FANN. You don't need to install it before using the gem, but understanding FANN will help you understand what you can do with the ruby-fann gem:
22
+ http://leenissen.dk/fann/
23
+
21
24
  ### Example training & subsequent execution:
22
25
 
23
26
  ```ruby
24
27
  require 'ruby-fann'
25
28
  train = RubyFann::TrainData.new(:inputs=>[[0.3, 0.4, 0.5], [0.1, 0.2, 0.3]], :desired_outputs=>[[0.7], [0.8]])
26
- fann = RubyFann::Standard.new(:num_inputs=>5, :hidden_neurons=>[2, 8, 4, 3, 4], :num_outputs=>1)
27
- fann.train_on_data(train, 1000, 10, 0.1)
29
+ fann = RubyFann::Standard.new(:num_inputs=>3, :hidden_neurons=>[2, 8, 4, 3, 4], :num_outputs=>1)
30
+ fann.train_on_data(train, 1000, 10, 0.1) # 1000 max_epochs, 10 errors between reports and 0.1 desired MSE (mean-squared-error)
28
31
  outputs = fann.run([0.3, 0.2, 0.4])
29
32
  ```
30
33
 
31
- ### Save trained NN to file and use it later (continued from above)
34
+ ### Save training data to file and use it later (continued from above)
32
35
 
33
36
  ```ruby
34
37
  train.save('verify.train')
35
38
  train = RubyFann::TrainData.new(:filename=>'verify.train')
36
- outputs = fann.run([0.1, 0.9, 0.4])
39
+ # Train again with 10000 max_epochs, 20 errors between reports and 0.01 desired MSE (mean-squared-error)
40
+ # This will take longer:
41
+ fann.train_on_data(train, 10000, 20, 0.01)
42
+ ```
43
+
44
+ ### Save trained network to file and use it later (continued from above)
45
+
46
+ ```ruby
47
+ fann.save('foo.net')
48
+ saved_nn = RubyFann::Standard.new(:filename=>"foo.net")
49
+ saved_nn.run([0.3, 0.2, 0.4])
37
50
  ```
38
51
 
39
- ### Now implements a callback method
52
+ ### Custom training using a callback method
40
53
 
41
54
  This callback function can be called during training when using train_on_data, train_on_file or cascadetrain_on_data.
42
55
 
@@ -54,6 +67,13 @@ class MyFann < RubyFann::Standard
54
67
  end
55
68
  end
56
69
  ```
70
+ ### A sample project using Ruby Fann to play tic-tac-toe
71
+ https://github.com/bigohstudios/tictactoe
72
+
73
+ ## Documentation
74
+ http://ruby-fann.rubyforge.org/
75
+
76
+
57
77
 
58
78
  ## Contributing
59
79
 
@@ -48,9 +48,12 @@ module RubyFann
48
48
  fillcolor = "transparent" # : "khaki3"
49
49
  layer = neuron[:layer]
50
50
  fillcolor = case layer
51
- when 0: @input_layer_color
52
- when max_layer: @output_layer_color
53
- else; @hidden_layer_colors[(layer-1) % @hidden_layer_colors.length]
51
+ when 0
52
+ @input_layer_color
53
+ when max_layer
54
+ @output_layer_color
55
+ else
56
+ @hidden_layer_colors[(layer-1) % @hidden_layer_colors.length]
54
57
  end
55
58
 
56
59
  #puts "adding neuron with #{neuron[:value]}"
@@ -2,7 +2,7 @@ module RubyFann
2
2
  module VERSION
3
3
  MAJOR = 1
4
4
  MINOR = 2
5
- TINY = 3
5
+ TINY = 4
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-fann
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-01 00:00:00.000000000 Z
12
+ date: 2013-05-06 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Bindings to use FANN from within ruby/rails environment
15
15
  email:
@@ -67,8 +67,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  requirements: []
70
- rubyforge_project:
71
- rubygems_version: 1.8.23
70
+ rubyforge_project: ruby-fann
71
+ rubygems_version: 1.8.25
72
72
  signing_key:
73
73
  specification_version: 3
74
74
  summary: Bindings to use FANN from within ruby/rails environment. Fann is a is a