Class: TLearn::RunTLearn

Inherits:
Object
  • Object
show all
Defined in:
lib/tlearn/run_tlearn.rb

Defined Under Namespace

Classes: UntrainedError

Instance Method Summary collapse

Constructor Details

#initialize(config = {}, working_dir = nil) ⇒ RunTLearn

Returns a new instance of RunTLearn.



7
8
9
# File 'lib/tlearn/run_tlearn.rb', line 7

def initialize(config = {}, working_dir = nil)
  @config = Config.new(config, working_dir)
end

Instance Method Details

#fitness(data, number_of_sweeps = @config.number_of_sweeps) ⇒ Object

Raises:



11
12
13
14
15
16
17
18
19
# File 'lib/tlearn/run_tlearn.rb', line 11

def fitness(data, number_of_sweeps = @config.number_of_sweeps)
  raise UntrainedError.new("Train me first!") unless network_trained?

  clear_previous_fitness_session

  @config.setup_fitness_data(data)

  execute_tlearn_fitness(number_of_sweeps)
end

#train(training_data, number_of_sweeps = @config.number_of_sweeps) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/tlearn/run_tlearn.rb', line 21

def train(training_data, number_of_sweeps = @config.number_of_sweeps)
  clear_entire_training_data
  
  @config.setup_config(training_data)
  @config.setup_training_data(training_data)

  execute_tlearn_train(number_of_sweeps)
      
  if training_successful?(number_of_sweeps)
    weights = File.read("#{@config.working_dir}/#{Config::TLEARN_NAMESPACE}.#{number_of_sweeps}.wts").split("\n")
    `cp #{@config.working_dir}/#{Config::TLEARN_NAMESPACE}.#{number_of_sweeps}.wts #{@config.working_dir}/#{Config::TLEARN_NAMESPACE}.wts`
    weights.map{|line| line.split("\t").map{|number| number.strip}}
  else
    false
  end
end