Class: Metamind::Client

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

Instance Method Summary collapse

Constructor Details

#initialize(cert: nil, private_key: nil, password: nil, email:) ⇒ Client

Returns a new instance of Client.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/metamind.rb', line 11

def initialize cert: nil, private_key: nil, password: nil, email:
  if cert.nil? && private_key.nil?
    raise ArgumentError.new 'At least one parameter must be specified: cert or private_key'
  end

  if !cert.nil?
    pkcs12 = OpenSSL::PKCS12::new(File.read(cert), password)
    @private_key = pkcs12.key
  elsif !private_key.nil?
    @private_key = OpenSSL::PKey::RSA.new(File.read(private_key), password)
  end
  @email = email
  @boundary = SecureRandom.hex(10)
end

Instance Method Details

#access_tokenObject



26
27
28
29
# File 'lib/metamind.rb', line 26

def access_token
  get_access_token if @access_token.nil?
  @access_token
end

#create_dataset(name, labels) ⇒ Object



43
44
45
# File 'lib/metamind.rb', line 43

def create_dataset name, labels
  post "#{METAMIND_VISION_API}/datasets", {name: name, labels: labels}
end

#create_example(dataset_id, params) ⇒ Object



67
68
69
# File 'lib/metamind.rb', line 67

def create_example dataset_id, params
  post "#{METAMIND_VISION_API}/datasets/#{dataset_id}/examples", params
end

#create_label(dataset_id, name) ⇒ Object



59
60
61
# File 'lib/metamind.rb', line 59

def create_label dataset_id, name
  post "#{METAMIND_VISION_API}/datasets/#{dataset_id}/labels", name: name
end

#delete_dataset(dataset_id) ⇒ Object



55
56
57
# File 'lib/metamind.rb', line 55

def delete_dataset dataset_id
  delete "#{METAMIND_VISION_API}/datasets/#{dataset_id}"
end

#delete_example(dataset_id, example_id) ⇒ Object



79
80
81
# File 'lib/metamind.rb', line 79

def delete_example dataset_id, example_id
  delete "#{METAMIND_VISION_API}/datasets/#{dataset_id}/examples/#{example_id}"
end

#get_all_datasetsObject



47
48
49
# File 'lib/metamind.rb', line 47

def get_all_datasets
  get "#{METAMIND_VISION_API}/datasets"
end

#get_all_example(dataset_id) ⇒ Object



75
76
77
# File 'lib/metamind.rb', line 75

def get_all_example dataset_id
  get "#{METAMIND_VISION_API}/datasets/#{dataset_id}/examples"
end

#get_all_models(dataset_id) ⇒ Object



95
96
97
# File 'lib/metamind.rb', line 95

def get_all_models dataset_id
  get "#{METAMIND_VISION_API}/datasets/#{dataset_id}/models"
end

#get_dataset(dataset_id) ⇒ Object



51
52
53
# File 'lib/metamind.rb', line 51

def get_dataset dataset_id
  get "#{METAMIND_VISION_API}/datasets/#{dataset_id}"
end

#get_example(dataset_id, example_id) ⇒ Object



71
72
73
# File 'lib/metamind.rb', line 71

def get_example dataset_id, example_id
  get "#{METAMIND_VISION_API}/datasets/#{dataset_id}/examples/#{example_id}"
end

#get_label(dataset_id, label_id) ⇒ Object



63
64
65
# File 'lib/metamind.rb', line 63

def get_label dataset_id, label_id
  get "#{METAMIND_VISION_API}/datasets/#{dataset_id}/labels/#{label_id}"
end

#get_model_metrics(model_id) ⇒ Object



91
92
93
# File 'lib/metamind.rb', line 91

def get_model_metrics model_id
  get "#{METAMIND_VISION_API}/models/#{model_id}"
end

#get_training_status(model_id) ⇒ Object



87
88
89
# File 'lib/metamind.rb', line 87

def get_training_status model_id
  get "#{METAMIND_VISION_API}/train/#{model_id}"
end

#predict_with_base64(base64_string, modelId = 'GeneralImageClassifier') ⇒ Object

def predict_with_file path, modelId = ‘GeneralImageClassifier’

post "#{METAMIND_VISION_API}/predict", {sampleContent: path, modelId: modelId}

end



39
40
41
# File 'lib/metamind.rb', line 39

def predict_with_base64 base64_string, modelId = 'GeneralImageClassifier'
  post "#{METAMIND_VISION_API}/predict", {sampleBase64Content: base64_string, modelId: modelId}
end

#predict_with_url(url, modelId = 'GeneralImageClassifier') ⇒ Object



31
32
33
# File 'lib/metamind.rb', line 31

def predict_with_url url, modelId = 'GeneralImageClassifier'
  post "/predict", {sampleLocation: url, modelId: modelId}
end

#train_dataset(params) ⇒ Object



83
84
85
# File 'lib/metamind.rb', line 83

def train_dataset params
  post "#{METAMIND_VISION_API}/train", params
end