Class: Cnvrg::Experiment

Inherits:
Object
  • Object
show all
Defined in:
lib/cnvrg/experiment.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(owner, project_slug) ⇒ Experiment

Returns a new instance of Experiment.



4
5
6
7
8
9
# File 'lib/cnvrg/experiment.rb', line 4

def initialize(owner, project_slug)
    @project_slug = project_slug
    @owner = owner
    @base_resource = "users/#{owner}/projects/#{project_slug}/"
    @slug = nil
end

Instance Attribute Details

#slugObject (readonly)

Returns the value of attribute slug.



3
4
5
# File 'lib/cnvrg/experiment.rb', line 3

def slug
  @slug
end

Instance Method Details

#end(output, exit_status, end_commit, cpu_average, memory_average) ⇒ Object



28
29
30
31
32
33
# File 'lib/cnvrg/experiment.rb', line 28

def end(output, exit_status, end_commit,cpu_average, memory_average)
response = Cnvrg::API.request(@base_resource + "experiment/end", 'POST', { output: output, exp_slug: @slug,
                                                                           exit_status: exit_status, end_commit: end_commit,
                                                                           cpu_average:cpu_average,memory_average:memory_average })
 Cnvrg::CLI.is_response_success(response)
end

#start(input, platform, machine_name, start_commit, name, email_notification) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/cnvrg/experiment.rb', line 11

def start(input, platform, machine_name, start_commit,name, email_notification)
    res = Cnvrg::API.request(@base_resource + "experiment/start", 'POST',
                             { input: input, platform: platform, machine_name: machine_name, start_commit: start_commit , title:name, email_notification:email_notification})
    Cnvrg::CLI.is_response_success(res)

    @slug = res.to_h["result"].to_h["slug"]

    return res
    
end

#upload_temp_log(temp_log, cpu_average, memory_average) ⇒ Object



22
23
24
25
26
27
# File 'lib/cnvrg/experiment.rb', line 22

def upload_temp_log(temp_log, cpu_average, memory_average )
    response = Cnvrg::API.request(@base_resource + "experiment/upload_temp_log", 'POST', { output: temp_log,
                                                                                      exp_slug: @slug,cpu_average:cpu_average,
                                                                                                memory_average:memory_average})
    Cnvrg::CLI.is_response_success(response)
end