Module: Cnvrg::Helpers
Instance Method Summary collapse
- #checkmark ⇒ Object
- #cnvrgignore_content ⇒ Object
-
#cpu_time ⇒ Object
cpu.
- #decrypt(key, iv, str) ⇒ Object
-
#get_mem(pid) ⇒ Object
memory.
- #hyper_content ⇒ Object
- #internet_connection? ⇒ Boolean
- #linux? ⇒ Boolean
- #look_for_in_path(path, name) ⇒ Object
- #mac? ⇒ Boolean
- #netrc_domain ⇒ Object
- #os ⇒ Object
- #readme_content ⇒ Object
- #remote_url ⇒ Object
- #ubuntu? ⇒ Boolean
- #wall_time ⇒ Object
- #windows? ⇒ Boolean
Instance Method Details
#checkmark ⇒ Object
6 7 8 9 |
# File 'lib/cnvrg/helpers.rb', line 6 def checkmark checkmark = "\u2713" return checkmark.encode('utf-8') end |
#cnvrgignore_content ⇒ Object
73 74 75 76 77 78 79 80 81 82 |
# File 'lib/cnvrg/helpers.rb', line 73 def cnvrgignore_content %{ # cnvrg ignore: Ignore the following directories and files # for example: # some_dir/ # some_file.txt .git/ .gitignore }.strip end |
#cpu_time ⇒ Object
cpu
166 167 168 |
# File 'lib/cnvrg/helpers.rb', line 166 def cpu_time Process.clock_gettime(Process::CLOCK_PROCESS_CPUTIME_ID, :microsecond) end |
#decrypt(key, iv, str) ⇒ Object
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
# File 'lib/cnvrg/helpers.rb', line 174 def decrypt(key,iv,str) begin cipher = OpenSSL::Cipher.new("aes-256-cbc").decrypt cipher.key = key cipher.iv = Base64.decode64 iv.encode('ascii-8bit') result = Base64.decode64 (str.encode('ascii-8bit')) result = cipher.update(result) result << cipher.final return result rescue => e puts e end end |
#get_mem(pid) ⇒ Object
memory
196 197 |
# File 'lib/cnvrg/helpers.rb', line 196 def get_mem(pid) end |
#hyper_content ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/cnvrg/helpers.rb', line 84 def hyper_content %{# Hyperparameter Optimization is the process of choosing a set of parameters for a learning algorithm, usually with the goal of optimizing a measure of the algorithm's performance on an independent data set. # Below is the list of parameters that will be used in the optimization process. Each parameter has a param_name that should match the argument that is feeded to the experiment s.t kernel => --kernel='rbf' parameters: # Integer parameter is a range of possible values between a minimum (inclusive) # and maximum (not inclusive) values. Values are floored (0.7 => 0) - param_name: "learning_rate" type: "integer" min: 0 # inclusive max: 10 # not inclusive scale: "linear" steps: 4 # The number of linear steps to produce. # Float parameter is a range of possible values between a minimum (inclusive) # and maximum (not inclusive) values. # - param_name: "learning_rate" type: "float" # precision is 9 after period min: 0.00001 max: 0.1 scale: "log2" # Could be log10 as well steps: 2 # Discrete parameter is an array of numerical values. # - param_name: "c" type: "discrete" values: [0, 0.1 ,0.001] # Categorical parameter is an array of string values # - param_name: "kernel" type: "categorical" values: ["linear", "poly", "rbf"] } end |
#internet_connection? ⇒ Boolean
11 12 13 14 15 16 17 |
# File 'lib/cnvrg/helpers.rb', line 11 def internet_connection? begin true if open("http://www.google.com/") rescue false end end |
#linux? ⇒ Boolean
64 65 66 |
# File 'lib/cnvrg/helpers.rb', line 64 def linux? not mac? and not windows? end |
#look_for_in_path(path, name) ⇒ Object
154 155 156 157 158 159 160 161 162 |
# File 'lib/cnvrg/helpers.rb', line 154 def look_for_in_path(path, name) url_split = path.split("/") url_split.each_with_index do |u, i| if u == name return i end end return -1 end |
#mac? ⇒ Boolean
60 61 62 |
# File 'lib/cnvrg/helpers.rb', line 60 def mac? !!(RUBY_PLATFORM =~ /-darwin\d/) end |
#netrc_domain ⇒ Object
150 151 152 |
# File 'lib/cnvrg/helpers.rb', line 150 def netrc_domain "cnvrg.io" end |
#os ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/cnvrg/helpers.rb', line 39 def os if windows? return "windows" elsif mac? return "mac" elsif ubuntu? return "ubuntu" elsif linux? return "linux" else return "N/A" end end |
#readme_content ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/cnvrg/helpers.rb', line 125 def readme_content %{ # README This README would normally contain some context and description about the project. Things you may want to cover: * Data description * Benchmark and measurement guidelines * Used algorithms * Scores * Configurations * Requirements * How to run the experiments * ...}.strip end |
#remote_url ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/cnvrg/helpers.rb', line 19 def remote_url home_dir = File.('~') config = "" begin if File.exist? home_dir+"/.cnvrg/config.yml" config = YAML.load_file(home_dir+"/.cnvrg/config.yml") else return "https://cnvrg.io" end rescue return "https://cnvrg.io" end if !config or config.empty? or config.to_h[:api].nil? return "https://cnvrg.io" else return config.to_h[:api].gsub("/api", "") end end |
#ubuntu? ⇒ Boolean
68 69 70 71 |
# File 'lib/cnvrg/helpers.rb', line 68 def ubuntu? unix = `cat /etc/lsb-release`.downcase! return unix.include? "ubuntu" end |
#wall_time ⇒ Object
170 171 172 |
# File 'lib/cnvrg/helpers.rb', line 170 def wall_time Process.clock_gettime(Process::CLOCK_MONOTONIC, :microsecond) end |
#windows? ⇒ Boolean
56 57 58 |
# File 'lib/cnvrg/helpers.rb', line 56 def windows? !!(RUBY_PLATFORM =~ /mswin32|mingw32/) end |