deepstack 1.2.0 → 1.3.0
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.
- checksums.yaml +4 -4
- data/lib/deep_stack/custom_model.rb +24 -0
- data/lib/deep_stack/deep_stack.rb +4 -4
- data/lib/deep_stack/version.rb +1 -1
- metadata +2 -2
- data/lib/deep_stack/custom.rb +0 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be874725c205c1b4c704649e99506f362fc711eeff315d9616deb112f7caecd5
|
4
|
+
data.tar.gz: f3a54bde1b2d8a533e9af9c58154a9004c7133f3e383d8e612a91d6052187fe1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c7d7c9f0abe1465489936961e9cc297c1e9961b2e6afe6b2612fea975b5b0cc0c24a95748fd6fe14e5b45e480d15a27237ad5e5b01d4f84a8617258a659fcc1
|
7
|
+
data.tar.gz: d4d9f966dd440a3cd3031c3ba64b029d0f94b427945d64b77cd23aea3f1a900de2fea85a2f24ddd49fca8c1c821c7e3c6b7c63a9e120fc38e481ed1452ec388b
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class DeepStack
|
4
|
+
# Custom Model
|
5
|
+
module CustomModel
|
6
|
+
#
|
7
|
+
# Return predictions using a custom model
|
8
|
+
#
|
9
|
+
# @param [String] model custom model name
|
10
|
+
# @param [Object] image binary data or a File object
|
11
|
+
# @param [Hash] options additional fields for DeepStack, e.g. min_confidence: 0.5
|
12
|
+
#
|
13
|
+
# @return [Array] if successful, an array of DeepStack predictions
|
14
|
+
#
|
15
|
+
# @return [nil] if error
|
16
|
+
#
|
17
|
+
def custom_model(model, image, **options)
|
18
|
+
target = "vision/custom/#{model}"
|
19
|
+
api_post(target, image, **options)&.dig('predictions')
|
20
|
+
end
|
21
|
+
# @deprecated Use {custom_model} instead
|
22
|
+
alias custom_inference custom_model
|
23
|
+
end
|
24
|
+
end
|
@@ -5,7 +5,7 @@ require 'json'
|
|
5
5
|
require_relative 'face'
|
6
6
|
require_relative 'detection'
|
7
7
|
require_relative 'scene'
|
8
|
-
require_relative '
|
8
|
+
require_relative 'custom_model'
|
9
9
|
require_relative 'version'
|
10
10
|
|
11
11
|
# DeepStack API
|
@@ -13,7 +13,7 @@ class DeepStack
|
|
13
13
|
include DeepStack::Face
|
14
14
|
include DeepStack::Detection
|
15
15
|
include DeepStack::Scene
|
16
|
-
include DeepStack::
|
16
|
+
include DeepStack::CustomModel
|
17
17
|
|
18
18
|
#
|
19
19
|
# Create a deepstack object connected to the given URL
|
@@ -61,8 +61,7 @@ class DeepStack
|
|
61
61
|
#
|
62
62
|
def close
|
63
63
|
@http_mutex.synchronize do
|
64
|
-
@http&.
|
65
|
-
@http = nil
|
64
|
+
@http.finish if @http&.started?
|
66
65
|
end
|
67
66
|
end
|
68
67
|
|
@@ -82,6 +81,7 @@ class DeepStack
|
|
82
81
|
req.set_form(form_data, 'multipart/form-data')
|
83
82
|
@http_mutex.synchronize do
|
84
83
|
@http ||= Net::HTTP.start(uri.hostname, uri.port)
|
84
|
+
@http.start unless @http.started?
|
85
85
|
@http.request(req)
|
86
86
|
end
|
87
87
|
end
|
data/lib/deep_stack/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deepstack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jimmy Tanagra
|
@@ -17,7 +17,7 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
-
- lib/deep_stack/
|
20
|
+
- lib/deep_stack/custom_model.rb
|
21
21
|
- lib/deep_stack/deep_stack.rb
|
22
22
|
- lib/deep_stack/detection.rb
|
23
23
|
- lib/deep_stack/face.rb
|
data/lib/deep_stack/custom.rb
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
class DeepStack
|
4
|
-
# Custom Model
|
5
|
-
module Custom
|
6
|
-
#
|
7
|
-
# Register a custom inference method for convenience.
|
8
|
-
# The custom method is called "identify_<modelname>"
|
9
|
-
# Example:
|
10
|
-
# deepstack.register_custom_model('license_plate')
|
11
|
-
# deepstack.identify_license_plate(image)
|
12
|
-
#
|
13
|
-
# @param [Array] models a list of one or more custom model names to register
|
14
|
-
#
|
15
|
-
# @return [<Type>] <description>
|
16
|
-
#
|
17
|
-
def self.register_model(*models)
|
18
|
-
models.flatten.each do |model|
|
19
|
-
method_name = 'identify_'.concat model.gsub(/-+/, '_') # convert - to _
|
20
|
-
define_method(method_name) do |image, **options|
|
21
|
-
custom_inference(model, image, options)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
#
|
27
|
-
# Return predictions using a custom model
|
28
|
-
#
|
29
|
-
# @param [String] model custom model name
|
30
|
-
# @param [Object] image binary data or a File object
|
31
|
-
# @param [Hash] options additional fields for DeepStack, e.g. min_confidence: 0.5
|
32
|
-
#
|
33
|
-
# @return [Array] if successful, an array of DeepStack predictions
|
34
|
-
#
|
35
|
-
# @return [nil] if error
|
36
|
-
#
|
37
|
-
def custom_inference(model, image, **options)
|
38
|
-
target = "vision/custom/#{model}"
|
39
|
-
api_post(target, image, options)&.dig('predictions')
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|