twentybn 0.1.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 +7 -0
- data/.gitignore +22 -0
- data/.rbenv-gemsets +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +3 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +65 -0
- data/Rakefile +7 -0
- data/lib/twentybn.rb +5 -0
- data/lib/twentybn/config.rb +9 -0
- data/lib/twentybn/image.rb +69 -0
- data/lib/twentybn/railtie.rb +12 -0
- data/lib/twentybn/version.rb +3 -0
- data/test/fixtures/files/test_image.jpg +0 -0
- data/test/fixtures/results.yml +15 -0
- data/test/fixtures/vcr_cassettes/ask.yml +61 -0
- data/test/fixtures/vcr_cassettes/tag_categories.yml +60 -0
- data/test/fixtures/vcr_cassettes/tag_custom.yml +58 -0
- data/test/fixtures/vcr_cassettes/tag_objects.yml +60 -0
- data/test/fixtures/vcr_cassettes/tag_places.yml +60 -0
- data/test/test_helper.rb +9 -0
- data/test/twentybn/image_test.rb +72 -0
- data/twentybn.gemspec +29 -0
- metadata +189 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 6d6b10369f03378969df930262655fafeff21db3
|
|
4
|
+
data.tar.gz: b43d185445fbc5c63458438c92c765230271f84e
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 65c6e73a2d5134ea25f8b51b6d7806a3477be38da30faa4b3943848856d03211e2cfba4f8881c05a91499b9a46eb9f79ad7de1180bce61c678628e1823ba26e8
|
|
7
|
+
data.tar.gz: 396f81d7b375ea26dcd92b0acb9a07a00e36cce1e1726f2d1849847a0773ea14246d49cfc312eb25bcd09ba48c1cd38b4f3008a4bf33b42ced2e79c5836c7643
|
data/.gitignore
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
*.gem
|
|
2
|
+
*.rbc
|
|
3
|
+
.bundle
|
|
4
|
+
.config
|
|
5
|
+
.yardoc
|
|
6
|
+
Gemfile.lock
|
|
7
|
+
InstalledFiles
|
|
8
|
+
_yardoc
|
|
9
|
+
coverage
|
|
10
|
+
doc/
|
|
11
|
+
lib/bundler/man
|
|
12
|
+
pkg
|
|
13
|
+
rdoc
|
|
14
|
+
spec/reports
|
|
15
|
+
test/tmp
|
|
16
|
+
test/version_tmp
|
|
17
|
+
tmp
|
|
18
|
+
*.bundle
|
|
19
|
+
*.so
|
|
20
|
+
*.o
|
|
21
|
+
*.a
|
|
22
|
+
mkmf.log
|
data/.rbenv-gemsets
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
20bn-client-ruby
|
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.3.1
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright (c) 2016 Twenty Billion Neurons GmbH, Berlin, Germany
|
|
2
|
+
|
|
3
|
+
MIT License
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
[](https://codeclimate.com/github/TwentyBN/twentybn-ruby)
|
|
2
|
+
|
|
3
|
+
# TwentyBN
|
|
4
|
+
|
|
5
|
+
This gem implements a client for the TwentyBN deep learning API for Ruby or Ruby on Rails. This is a beta version and currently only offers access to the TwentyBN image tagging API, which can be used to recognizing objects in images.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
Add this line to your application's Gemfile:
|
|
10
|
+
|
|
11
|
+
gem 'twentybn'
|
|
12
|
+
|
|
13
|
+
And then execute:
|
|
14
|
+
|
|
15
|
+
$ bundle
|
|
16
|
+
|
|
17
|
+
Or install it yourself as:
|
|
18
|
+
|
|
19
|
+
$ gem install twentybn
|
|
20
|
+
|
|
21
|
+
## API key
|
|
22
|
+
|
|
23
|
+
In order to get an API key, you need to sign up for free at https://cortex.twentybn.com.
|
|
24
|
+
|
|
25
|
+
## Basic usage
|
|
26
|
+
|
|
27
|
+
```ruby
|
|
28
|
+
require 'twentybn'
|
|
29
|
+
TwentyBN.api_key = 'PUT_API_KEY_HERE'
|
|
30
|
+
tags = TwentyBN.image("/path/to/an/image.jpg").tag
|
|
31
|
+
answer = TwentyBN.image("/path/to/an/image.jpg").ask("What is the man doing?")
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Configure Rails application
|
|
35
|
+
|
|
36
|
+
If you use Rails, you can add omit the first two lines and add the API key to your environment config file as follows:
|
|
37
|
+
|
|
38
|
+
```ruby
|
|
39
|
+
config.twentybn_api_key = 'PUT_API_KEY_HERE'
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## License
|
|
43
|
+
|
|
44
|
+
Copyright (c) 2016 Twenty Billion Neurons GmbH, Berlin, Germany
|
|
45
|
+
|
|
46
|
+
MIT License
|
|
47
|
+
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of this software and associated documentation files (the
|
|
50
|
+
"Software"), to deal in the Software without restriction, including
|
|
51
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
52
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
53
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
54
|
+
the following conditions:
|
|
55
|
+
|
|
56
|
+
The above copyright notice and this permission notice shall be
|
|
57
|
+
included in all copies or substantial portions of the Software.
|
|
58
|
+
|
|
59
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
60
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
61
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
62
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
63
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
64
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
65
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
data/lib/twentybn.rb
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
require 'faraday'
|
|
2
|
+
require 'json'
|
|
3
|
+
require 'base64'
|
|
4
|
+
|
|
5
|
+
module TwentyBN
|
|
6
|
+
|
|
7
|
+
def self.api_key=(api_key)
|
|
8
|
+
config[:api_key] = api_key.to_s
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def self.image(image)
|
|
12
|
+
Image.new(image)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class Image
|
|
16
|
+
|
|
17
|
+
def initialize(image)
|
|
18
|
+
@image = image
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def ask(question)
|
|
22
|
+
response = api_connection.post do |request|
|
|
23
|
+
request.headers['Content-Type'] = 'application/json'
|
|
24
|
+
request.headers['X-ApiKey'] = TwentyBN.config[:api_key]
|
|
25
|
+
data = {
|
|
26
|
+
content: self.image_base64,
|
|
27
|
+
question: question,
|
|
28
|
+
}
|
|
29
|
+
request.url '/v1/vqa'
|
|
30
|
+
request.body = JSON.generate(data)
|
|
31
|
+
end
|
|
32
|
+
return response.body
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def tag(model=:objects)
|
|
36
|
+
response = api_connection.post do |request|
|
|
37
|
+
request.headers['Content-Type'] = 'application/json'
|
|
38
|
+
request.headers['X-ApiKey'] = TwentyBN.config[:api_key]
|
|
39
|
+
data = {
|
|
40
|
+
content: self.image_base64,
|
|
41
|
+
}
|
|
42
|
+
default_models = [:objects, :places, :categories]
|
|
43
|
+
if default_models.include? model
|
|
44
|
+
request.url "/v1/tag_image"
|
|
45
|
+
request.params['model'] = model
|
|
46
|
+
else
|
|
47
|
+
request.url '/v1/custom_tag_image'
|
|
48
|
+
data[:modelId] = model
|
|
49
|
+
end
|
|
50
|
+
request.body = JSON.generate(data)
|
|
51
|
+
end
|
|
52
|
+
return response.body
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def image_base64
|
|
56
|
+
Base64.strict_encode64(IO.binread(@image))
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def api_connection
|
|
60
|
+
@api_connection ||= Faraday.new(url: TwentyBN.config[:api_url]) do |faraday|
|
|
61
|
+
faraday.request :url_encoded
|
|
62
|
+
faraday.response :logger
|
|
63
|
+
faraday.adapter Faraday.default_adapter
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
end
|
|
Binary file
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
tag_objects_result:
|
|
2
|
+
scores: [0.705970287322998, 0.22776907682418823, 0.05966024845838547, 0.0038669295608997345, 0.0018167371163144708]
|
|
3
|
+
tags: ["English foxhound", "Walker hound, Walker foxhound", "beagle", "bluetick", "Brittany spaniel"]
|
|
4
|
+
tag_places_result:
|
|
5
|
+
scores: [0.2170010805130005, 0.14935103058815002, 0.08239652961492538, 0.06759288907051086, 0.06492573022842407]
|
|
6
|
+
tags: ["gift_shop", "clothing_store", "nursery", "art_gallery", "museum, indoor"]
|
|
7
|
+
tag_categories_result:
|
|
8
|
+
scores: [0.9337393641471863, 0.06410387858122135, 0.001825189208602751, 0.00018991139130974943, 5.102681438984291e-05]
|
|
9
|
+
tags: ["foxhound", "hound, hound dog", "spaniel", "Sennenhunde", "pointer, Spanish pointer"]
|
|
10
|
+
tag_custom_result:
|
|
11
|
+
scores: [0.6947551130672773, 0.3052448869327226]
|
|
12
|
+
tags: ["cat", "dog"]
|
|
13
|
+
ask_result:
|
|
14
|
+
answers: ["SLEEPING", "SITTING", "LAYING DOWN", "PLAYING", "READING"]
|
|
15
|
+
scores: [9.935430526733398, 7.352405071258545, 7.222123146057129, 7.210022926330566, 6.92863655090332]
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: https://cortex.twentybn.com/v1/vqa
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"content":"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T+E/1R8uRY8Wwhqo7acEckKWBD1MhfNfIA+E0Y95zn8p4ROc65unRFYcEfKihgrYRexGV65gbwAPlOmzb2FyhpC95tZMfZw7Zc5B/Cac4bmtaO3KeERbl2T4XmwNO48lAtDeG4TLgXuIPZdzOs8AcpxgG0koGBOZ3BsQlusMtF15NI6Od2PleNvIOAgD1jdxBsjYWWaUwyOx/CMjcNtvKZLDtOftmYe11faQ3hb+FntO70yOMK8aVN6lO38KkIkUkkkwEkkkgBJJJIAR4TT4g9pDhcFOrx3CAMY6x6T/ANM10V1Mwinn5A7FRMMZNSIyQCSBe/dbNrlEyu06WN7QbAkfBWRUkO7Wmxn/ANy3HyuTPH5I7PGemal01pEdJSNlPue4c2VhAwmKZnp0sbewanxbaupKlRyzlydgc75TMGiwZ3XEpBH4T81uyDcCTfgfKokae2wJt7jwh7BtrnA5KJkBNgM/hByh7T8BJgM1UwEjWDk8pVDQaZt0P6RMu55u4oqa0kLQOw5UjI0ttwEiwn4/mnizwU29tu+PKkBgxXBymXuawFoyR4T0jrt5sPhDO2tGBkoGNFxGSLXXFnXLnecJ0i4GFyBc28IAHMQdKL9wure2w5surEPumzcOSGBTDe/IyMJ+GHaLkLvYHvuAiWx+2xCYNjcbMnGCurWNk632gf5XDgd1xkJkjkVzaxCt2gS+zYTmyqDWuxjCsGhSlsob2TQi3JLwcL1UAkkkkAJJJJAH/9kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA=","question":"What
|
|
9
|
+
is the dog doing?"}'
|
|
10
|
+
headers:
|
|
11
|
+
User-Agent:
|
|
12
|
+
- Faraday v0.9.2
|
|
13
|
+
Content-Type:
|
|
14
|
+
- application/json
|
|
15
|
+
X-Apikey:
|
|
16
|
+
- YOUR_API_KEY
|
|
17
|
+
Accept-Encoding:
|
|
18
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
19
|
+
Accept:
|
|
20
|
+
- "*/*"
|
|
21
|
+
response:
|
|
22
|
+
status:
|
|
23
|
+
code: 200
|
|
24
|
+
message: OK
|
|
25
|
+
headers:
|
|
26
|
+
Cache-Control:
|
|
27
|
+
- max-age=0, private, must-revalidate
|
|
28
|
+
Content-Type:
|
|
29
|
+
- application/json; charset=utf-8
|
|
30
|
+
Date:
|
|
31
|
+
- Thu, 27 Oct 2016 14:59:03 GMT
|
|
32
|
+
Etag:
|
|
33
|
+
- W/"aa4627929124288412ed72e33e2947d5"
|
|
34
|
+
P3p:
|
|
35
|
+
- CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
|
|
36
|
+
Server:
|
|
37
|
+
- nginx/1.10.0 (Ubuntu)
|
|
38
|
+
X-Content-Type-Options:
|
|
39
|
+
- nosniff
|
|
40
|
+
X-Frame-Options:
|
|
41
|
+
- ALLOWALL
|
|
42
|
+
X-Request-Id:
|
|
43
|
+
- d9d5cc45-561b-4727-90f4-bb4455607dc0
|
|
44
|
+
X-Runtime:
|
|
45
|
+
- '0.808295'
|
|
46
|
+
X-Xss-Protection:
|
|
47
|
+
- 1; mode=block
|
|
48
|
+
Content-Length:
|
|
49
|
+
- '289'
|
|
50
|
+
Connection:
|
|
51
|
+
- keep-alive
|
|
52
|
+
body:
|
|
53
|
+
encoding: UTF-8
|
|
54
|
+
string: "{\n \"result\": {\n \"answers\": [\n \"SLEEPING\", \n \"SITTING\",
|
|
55
|
+
\n \"LAYING DOWN\", \n \"PLAYING\", \n \"READING\"\n ],
|
|
56
|
+
\n \"scores\": [\n 9.935430526733398, \n 7.352405071258545, \n
|
|
57
|
+
\ 7.222123146057129, \n 7.210022926330566, \n 6.92863655090332\n
|
|
58
|
+
\ ]\n }\n}\n"
|
|
59
|
+
http_version:
|
|
60
|
+
recorded_at: Thu, 27 Oct 2016 14:59:03 GMT
|
|
61
|
+
recorded_with: VCR 3.0.3
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: https://cortex.twentybn.com/v1/tag_image?model=categories
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"content":"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T+E/1R8uRY8Wwhqo7acEckKWBD1MhfNfIA+E0Y95zn8p4ROc65unRFYcEfKihgrYRexGV65gbwAPlOmzb2FyhpC95tZMfZw7Zc5B/Cac4bmtaO3KeERbl2T4XmwNO48lAtDeG4TLgXuIPZdzOs8AcpxgG0koGBOZ3BsQlusMtF15NI6Od2PleNvIOAgD1jdxBsjYWWaUwyOx/CMjcNtvKZLDtOftmYe11faQ3hb+FntO70yOMK8aVN6lO38KkIkUkkkwEkkkgBJJJIAR4TT4g9pDhcFOrx3CAMY6x6T/ANM10V1Mwinn5A7FRMMZNSIyQCSBe/dbNrlEyu06WN7QbAkfBWRUkO7Wmxn/ANy3HyuTPH5I7PGemal01pEdJSNlPue4c2VhAwmKZnp0sbewanxbaupKlRyzlydgc75TMGiwZ3XEpBH4T81uyDcCTfgfKokae2wJt7jwh7BtrnA5KJkBNgM/hByh7T8BJgM1UwEjWDk8pVDQaZt0P6RMu55u4oqa0kLQOw5UjI0ttwEiwn4/mnizwU29tu+PKkBgxXBymXuawFoyR4T0jrt5sPhDO2tGBkoGNFxGSLXXFnXLnecJ0i4GFyBc28IAHMQdKL9wure2w5surEPumzcOSGBTDe/IyMJ+GHaLkLvYHvuAiWx+2xCYNjcbMnGCurWNk632gf5XDgd1xkJkjkVzaxCt2gS+zYTmyqDWuxjCsGhSlsob2TQi3JLwcL1UAkkkkAJJJJAH/9kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA="}'
|
|
9
|
+
headers:
|
|
10
|
+
User-Agent:
|
|
11
|
+
- Faraday v0.9.2
|
|
12
|
+
Content-Type:
|
|
13
|
+
- application/json
|
|
14
|
+
X-Apikey:
|
|
15
|
+
- YOUR_API_KEY
|
|
16
|
+
Accept-Encoding:
|
|
17
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
18
|
+
Accept:
|
|
19
|
+
- "*/*"
|
|
20
|
+
response:
|
|
21
|
+
status:
|
|
22
|
+
code: 200
|
|
23
|
+
message: OK
|
|
24
|
+
headers:
|
|
25
|
+
Cache-Control:
|
|
26
|
+
- max-age=0, private, must-revalidate
|
|
27
|
+
Content-Type:
|
|
28
|
+
- application/json; charset=utf-8
|
|
29
|
+
Date:
|
|
30
|
+
- Thu, 27 Oct 2016 15:09:53 GMT
|
|
31
|
+
Etag:
|
|
32
|
+
- W/"b6458d046cb15ef1c6dbfc74bf9dee69"
|
|
33
|
+
P3p:
|
|
34
|
+
- CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
|
|
35
|
+
Server:
|
|
36
|
+
- nginx/1.10.0 (Ubuntu)
|
|
37
|
+
X-Content-Type-Options:
|
|
38
|
+
- nosniff
|
|
39
|
+
X-Frame-Options:
|
|
40
|
+
- ALLOWALL
|
|
41
|
+
X-Request-Id:
|
|
42
|
+
- af8e8f2c-8079-48b9-92ff-52905a3cb0fa
|
|
43
|
+
X-Runtime:
|
|
44
|
+
- '0.554144'
|
|
45
|
+
X-Xss-Protection:
|
|
46
|
+
- 1; mode=block
|
|
47
|
+
Content-Length:
|
|
48
|
+
- '328'
|
|
49
|
+
Connection:
|
|
50
|
+
- keep-alive
|
|
51
|
+
body:
|
|
52
|
+
encoding: UTF-8
|
|
53
|
+
string: "{\n \"result\": {\n \"scores\": [\n 0.9337393641471863, \n
|
|
54
|
+
\ 0.06410387858122135, \n 0.001825189208602751, \n 0.00018991139130974943,
|
|
55
|
+
\n 5.102681438984291e-05\n ], \n \"tags\": [\n \"foxhound\",
|
|
56
|
+
\n \"hound, hound dog\", \n \"spaniel\", \n \"Sennenhunde\",
|
|
57
|
+
\n \"pointer, Spanish pointer\"\n ]\n }\n}\n"
|
|
58
|
+
http_version:
|
|
59
|
+
recorded_at: Thu, 27 Oct 2016 15:09:53 GMT
|
|
60
|
+
recorded_with: VCR 3.0.3
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: https://cortex.twentybn.com/v1/custom_tag_image
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"content":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX/TQBcNTh/AAAAAXRSTlPM0jRW/QAAAApJREFUeJxjYgAAAAYAAzY3fKgAAAAASUVORK5CYII=","modelId":"9b80ddb9-2d02-436f-86ba-f9a3e679de7a"}'
|
|
9
|
+
headers:
|
|
10
|
+
User-Agent:
|
|
11
|
+
- Faraday v0.9.2
|
|
12
|
+
Content-Type:
|
|
13
|
+
- application/json
|
|
14
|
+
X-Apikey:
|
|
15
|
+
- YOUR_API_KEY
|
|
16
|
+
Accept-Encoding:
|
|
17
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
18
|
+
Accept:
|
|
19
|
+
- "*/*"
|
|
20
|
+
response:
|
|
21
|
+
status:
|
|
22
|
+
code: 200
|
|
23
|
+
message: OK
|
|
24
|
+
headers:
|
|
25
|
+
Cache-Control:
|
|
26
|
+
- max-age=0, private, must-revalidate
|
|
27
|
+
Content-Type:
|
|
28
|
+
- application/json; charset=utf-8
|
|
29
|
+
Date:
|
|
30
|
+
- Thu, 27 Oct 2016 15:46:43 GMT
|
|
31
|
+
Etag:
|
|
32
|
+
- W/"13d9f04b79cb19a4ca081d3b6629d54a"
|
|
33
|
+
P3p:
|
|
34
|
+
- CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
|
|
35
|
+
Server:
|
|
36
|
+
- nginx/1.10.0 (Ubuntu)
|
|
37
|
+
X-Content-Type-Options:
|
|
38
|
+
- nosniff
|
|
39
|
+
X-Frame-Options:
|
|
40
|
+
- ALLOWALL
|
|
41
|
+
X-Request-Id:
|
|
42
|
+
- b046870c-55df-4592-a79a-78e20d2a3605
|
|
43
|
+
X-Runtime:
|
|
44
|
+
- '0.574731'
|
|
45
|
+
X-Xss-Protection:
|
|
46
|
+
- 1; mode=block
|
|
47
|
+
Content-Length:
|
|
48
|
+
- '144'
|
|
49
|
+
Connection:
|
|
50
|
+
- keep-alive
|
|
51
|
+
body:
|
|
52
|
+
encoding: UTF-8
|
|
53
|
+
string: "{\n \"result\": {\n \"scores\": [\n 0.6947551130672773, \n
|
|
54
|
+
\ 0.3052448869327226\n ], \n \"tags\": [\n \"cat\", \n \"dog\"\n
|
|
55
|
+
\ ]\n }\n}\n"
|
|
56
|
+
http_version:
|
|
57
|
+
recorded_at: Thu, 27 Oct 2016 15:46:43 GMT
|
|
58
|
+
recorded_with: VCR 3.0.3
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: https://cortex.twentybn.com/v1/tag_image?model=objects
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"content":"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T+E/1R8uRY8Wwhqo7acEckKWBD1MhfNfIA+E0Y95zn8p4ROc65unRFYcEfKihgrYRexGV65gbwAPlOmzb2FyhpC95tZMfZw7Zc5B/Cac4bmtaO3KeERbl2T4XmwNO48lAtDeG4TLgXuIPZdzOs8AcpxgG0koGBOZ3BsQlusMtF15NI6Od2PleNvIOAgD1jdxBsjYWWaUwyOx/CMjcNtvKZLDtOftmYe11faQ3hb+FntO70yOMK8aVN6lO38KkIkUkkkwEkkkgBJJJIAR4TT4g9pDhcFOrx3CAMY6x6T/ANM10V1Mwinn5A7FRMMZNSIyQCSBe/dbNrlEyu06WN7QbAkfBWRUkO7Wmxn/ANy3HyuTPH5I7PGemal01pEdJSNlPue4c2VhAwmKZnp0sbewanxbaupKlRyzlydgc75TMGiwZ3XEpBH4T81uyDcCTfgfKokae2wJt7jwh7BtrnA5KJkBNgM/hByh7T8BJgM1UwEjWDk8pVDQaZt0P6RMu55u4oqa0kLQOw5UjI0ttwEiwn4/mnizwU29tu+PKkBgxXBymXuawFoyR4T0jrt5sPhDO2tGBkoGNFxGSLXXFnXLnecJ0i4GFyBc28IAHMQdKL9wure2w5surEPumzcOSGBTDe/IyMJ+GHaLkLvYHvuAiWx+2xCYNjcbMnGCurWNk632gf5XDgd1xkJkjkVzaxCt2gS+zYTmyqDWuxjCsGhSlsob2TQi3JLwcL1UAkkkkAJJJJAH/9kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA="}'
|
|
9
|
+
headers:
|
|
10
|
+
User-Agent:
|
|
11
|
+
- Faraday v0.9.2
|
|
12
|
+
Content-Type:
|
|
13
|
+
- application/json
|
|
14
|
+
X-Apikey:
|
|
15
|
+
- YOUR_API_KEY
|
|
16
|
+
Accept-Encoding:
|
|
17
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
18
|
+
Accept:
|
|
19
|
+
- "*/*"
|
|
20
|
+
response:
|
|
21
|
+
status:
|
|
22
|
+
code: 200
|
|
23
|
+
message: OK
|
|
24
|
+
headers:
|
|
25
|
+
Cache-Control:
|
|
26
|
+
- max-age=0, private, must-revalidate
|
|
27
|
+
Content-Type:
|
|
28
|
+
- application/json; charset=utf-8
|
|
29
|
+
Date:
|
|
30
|
+
- Thu, 27 Oct 2016 13:56:56 GMT
|
|
31
|
+
Etag:
|
|
32
|
+
- W/"51d811ac2d704d7f9959b53c204fcd1a"
|
|
33
|
+
P3p:
|
|
34
|
+
- CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
|
|
35
|
+
Server:
|
|
36
|
+
- nginx/1.10.0 (Ubuntu)
|
|
37
|
+
X-Content-Type-Options:
|
|
38
|
+
- nosniff
|
|
39
|
+
X-Frame-Options:
|
|
40
|
+
- ALLOWALL
|
|
41
|
+
X-Request-Id:
|
|
42
|
+
- d797c52d-ff04-4ef2-87d8-d77a8ebbe0ce
|
|
43
|
+
X-Runtime:
|
|
44
|
+
- '0.582763'
|
|
45
|
+
X-Xss-Protection:
|
|
46
|
+
- 1; mode=block
|
|
47
|
+
Content-Length:
|
|
48
|
+
- '334'
|
|
49
|
+
Connection:
|
|
50
|
+
- keep-alive
|
|
51
|
+
body:
|
|
52
|
+
encoding: UTF-8
|
|
53
|
+
string: "{\n \"result\": {\n \"scores\": [\n 0.705970287322998, \n
|
|
54
|
+
\ 0.22776907682418823, \n 0.05966024845838547, \n 0.0038669295608997345,
|
|
55
|
+
\n 0.0018167371163144708\n ], \n \"tags\": [\n \"English foxhound\",
|
|
56
|
+
\n \"Walker hound, Walker foxhound\", \n \"beagle\", \n \"bluetick\",
|
|
57
|
+
\n \"Brittany spaniel\"\n ]\n }\n}\n"
|
|
58
|
+
http_version:
|
|
59
|
+
recorded_at: Thu, 27 Oct 2016 13:56:56 GMT
|
|
60
|
+
recorded_with: VCR 3.0.3
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: https://cortex.twentybn.com/v1/tag_image?model=places
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"content":"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T+E/1R8uRY8Wwhqo7acEckKWBD1MhfNfIA+E0Y95zn8p4ROc65unRFYcEfKihgrYRexGV65gbwAPlOmzb2FyhpC95tZMfZw7Zc5B/Cac4bmtaO3KeERbl2T4XmwNO48lAtDeG4TLgXuIPZdzOs8AcpxgG0koGBOZ3BsQlusMtF15NI6Od2PleNvIOAgD1jdxBsjYWWaUwyOx/CMjcNtvKZLDtOftmYe11faQ3hb+FntO70yOMK8aVN6lO38KkIkUkkkwEkkkgBJJJIAR4TT4g9pDhcFOrx3CAMY6x6T/ANM10V1Mwinn5A7FRMMZNSIyQCSBe/dbNrlEyu06WN7QbAkfBWRUkO7Wmxn/ANy3HyuTPH5I7PGemal01pEdJSNlPue4c2VhAwmKZnp0sbewanxbaupKlRyzlydgc75TMGiwZ3XEpBH4T81uyDcCTfgfKokae2wJt7jwh7BtrnA5KJkBNgM/hByh7T8BJgM1UwEjWDk8pVDQaZt0P6RMu55u4oqa0kLQOw5UjI0ttwEiwn4/mnizwU29tu+PKkBgxXBymXuawFoyR4T0jrt5sPhDO2tGBkoGNFxGSLXXFnXLnecJ0i4GFyBc28IAHMQdKL9wure2w5surEPumzcOSGBTDe/IyMJ+GHaLkLvYHvuAiWx+2xCYNjcbMnGCurWNk632gf5XDgd1xkJkjkVzaxCt2gS+zYTmyqDWuxjCsGhSlsob2TQi3JLwcL1UAkkkkAJJJJAH/9kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA="}'
|
|
9
|
+
headers:
|
|
10
|
+
User-Agent:
|
|
11
|
+
- Faraday v0.9.2
|
|
12
|
+
Content-Type:
|
|
13
|
+
- application/json
|
|
14
|
+
X-Apikey:
|
|
15
|
+
- YOUR_API_KEY
|
|
16
|
+
Accept-Encoding:
|
|
17
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
|
18
|
+
Accept:
|
|
19
|
+
- "*/*"
|
|
20
|
+
response:
|
|
21
|
+
status:
|
|
22
|
+
code: 200
|
|
23
|
+
message: OK
|
|
24
|
+
headers:
|
|
25
|
+
Cache-Control:
|
|
26
|
+
- max-age=0, private, must-revalidate
|
|
27
|
+
Content-Type:
|
|
28
|
+
- application/json; charset=utf-8
|
|
29
|
+
Date:
|
|
30
|
+
- Thu, 27 Oct 2016 15:09:54 GMT
|
|
31
|
+
Etag:
|
|
32
|
+
- W/"03f8b9e264329d2d7650c6a19389d907"
|
|
33
|
+
P3p:
|
|
34
|
+
- CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
|
|
35
|
+
Server:
|
|
36
|
+
- nginx/1.10.0 (Ubuntu)
|
|
37
|
+
X-Content-Type-Options:
|
|
38
|
+
- nosniff
|
|
39
|
+
X-Frame-Options:
|
|
40
|
+
- ALLOWALL
|
|
41
|
+
X-Request-Id:
|
|
42
|
+
- 4e9ea6e5-57a4-453d-b9f2-dd7dca134efc
|
|
43
|
+
X-Runtime:
|
|
44
|
+
- '0.662967'
|
|
45
|
+
X-Xss-Protection:
|
|
46
|
+
- 1; mode=block
|
|
47
|
+
Content-Length:
|
|
48
|
+
- '311'
|
|
49
|
+
Connection:
|
|
50
|
+
- keep-alive
|
|
51
|
+
body:
|
|
52
|
+
encoding: UTF-8
|
|
53
|
+
string: "{\n \"result\": {\n \"scores\": [\n 0.2170010805130005, \n
|
|
54
|
+
\ 0.14935103058815002, \n 0.08239652961492538, \n 0.06759288907051086,
|
|
55
|
+
\n 0.06492573022842407\n ], \n \"tags\": [\n \"gift_shop\",
|
|
56
|
+
\n \"clothing_store\", \n \"nursery\", \n \"art_gallery\",
|
|
57
|
+
\n \"museum, indoor\"\n ]\n }\n}\n"
|
|
58
|
+
http_version:
|
|
59
|
+
recorded_at: Thu, 27 Oct 2016 15:09:54 GMT
|
|
60
|
+
recorded_with: VCR 3.0.3
|
data/test/test_helper.rb
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
require './test/test_helper'
|
|
2
|
+
|
|
3
|
+
class ImageTest < Minitest::Test
|
|
4
|
+
|
|
5
|
+
TwentyBN.api_key = 'YOUR_API_KEY'
|
|
6
|
+
|
|
7
|
+
def test_tag_with_objects
|
|
8
|
+
VCR.use_cassette('tag_objects') do
|
|
9
|
+
|
|
10
|
+
response = TwentyBN.image("./test/fixtures/files/test_image.jpg").tag
|
|
11
|
+
result = JSON.parse(response)['result']
|
|
12
|
+
|
|
13
|
+
tag_result_fixture = YAML.load_file('./test/fixtures/results.yml')['tag_objects_result']
|
|
14
|
+
|
|
15
|
+
assert_equal result['scores'], tag_result_fixture['scores']
|
|
16
|
+
assert_equal result['tags'], tag_result_fixture['tags']
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_tag_with_places
|
|
21
|
+
VCR.use_cassette('tag_places') do
|
|
22
|
+
|
|
23
|
+
response = TwentyBN.image("./test/fixtures/files/test_image.jpg").tag(:places)
|
|
24
|
+
result = JSON.parse(response)['result']
|
|
25
|
+
|
|
26
|
+
tag_result_fixture = YAML.load_file('./test/fixtures/results.yml')['tag_places_result']
|
|
27
|
+
|
|
28
|
+
assert_equal result['scores'], tag_result_fixture['scores']
|
|
29
|
+
assert_equal result['tags'], tag_result_fixture['tags']
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_tag_with_categories
|
|
34
|
+
VCR.use_cassette('tag_categories') do
|
|
35
|
+
|
|
36
|
+
response = TwentyBN.image("./test/fixtures/files/test_image.jpg").tag(:categories)
|
|
37
|
+
result = JSON.parse(response)['result']
|
|
38
|
+
|
|
39
|
+
tag_result_fixture = YAML.load_file('./test/fixtures/results.yml')['tag_categories_result']
|
|
40
|
+
|
|
41
|
+
assert_equal result['scores'], tag_result_fixture['scores']
|
|
42
|
+
assert_equal result['tags'], tag_result_fixture['tags']
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_tag_with_custom_classifier
|
|
47
|
+
VCR.use_cassette('tag_custom') do
|
|
48
|
+
|
|
49
|
+
response = TwentyBN.image("./test/fixtures/files/test_image.jpg").tag("9b80ddb9-2d02-436f-86ba-f9a3e679de7a")
|
|
50
|
+
result = JSON.parse(response)['result']
|
|
51
|
+
|
|
52
|
+
tag_result_fixture = YAML.load_file('./test/fixtures/results.yml')['tag_custom_result']
|
|
53
|
+
|
|
54
|
+
assert_equal result['scores'], tag_result_fixture['scores']
|
|
55
|
+
assert_equal result['tags'], tag_result_fixture['tags']
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def test_ask
|
|
60
|
+
VCR.use_cassette('ask') do
|
|
61
|
+
|
|
62
|
+
question = "What is the dog doing?"
|
|
63
|
+
response = TwentyBN.image("./test/fixtures/files/test_image.jpg").ask(question)
|
|
64
|
+
result = JSON.parse(response)['result']
|
|
65
|
+
|
|
66
|
+
ask_result_fixture = YAML.load_file('./test/fixtures/results.yml')['ask_result']
|
|
67
|
+
|
|
68
|
+
assert_equal result['scores'], ask_result_fixture['scores']
|
|
69
|
+
assert_equal result['answers'], ask_result_fixture['answers']
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
data/twentybn.gemspec
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'twentybn/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |spec|
|
|
7
|
+
spec.name = "twentybn"
|
|
8
|
+
spec.version = TwentyBN::VERSION
|
|
9
|
+
spec.authors = ["Ingo Bax"]
|
|
10
|
+
spec.email = ["ingo.bax@twentybn.com"]
|
|
11
|
+
spec.summary = %q{Gem to access the twentybn.com deep learning api}
|
|
12
|
+
spec.description = %q{Gem to access the twentybn.com deep learning api, which offers functions like image e.g. tagging, machine translation and sentiment analysis.}
|
|
13
|
+
spec.homepage = "https://www.twentybn.com"
|
|
14
|
+
spec.license = "MIT"
|
|
15
|
+
spec.files = `git ls-files -z`.split("\x0")
|
|
16
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
17
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
18
|
+
spec.require_paths = ["lib"]
|
|
19
|
+
|
|
20
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
|
21
|
+
spec.add_development_dependency "rake"
|
|
22
|
+
spec.add_development_dependency "minitest"
|
|
23
|
+
spec.add_development_dependency "vcr"
|
|
24
|
+
spec.add_development_dependency "pry"
|
|
25
|
+
spec.add_development_dependency "webmock"
|
|
26
|
+
|
|
27
|
+
spec.add_dependency "faraday"
|
|
28
|
+
spec.add_dependency "json"
|
|
29
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: twentybn
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Ingo Bax
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2016-11-01 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.6'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.6'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: minitest
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: vcr
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: pry
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: webmock
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: faraday
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :runtime
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: json
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ">="
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
type: :runtime
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0'
|
|
125
|
+
description: Gem to access the twentybn.com deep learning api, which offers functions
|
|
126
|
+
like image e.g. tagging, machine translation and sentiment analysis.
|
|
127
|
+
email:
|
|
128
|
+
- ingo.bax@twentybn.com
|
|
129
|
+
executables: []
|
|
130
|
+
extensions: []
|
|
131
|
+
extra_rdoc_files: []
|
|
132
|
+
files:
|
|
133
|
+
- ".gitignore"
|
|
134
|
+
- ".rbenv-gemsets"
|
|
135
|
+
- ".ruby-version"
|
|
136
|
+
- ".travis.yml"
|
|
137
|
+
- Gemfile
|
|
138
|
+
- LICENSE.txt
|
|
139
|
+
- README.md
|
|
140
|
+
- Rakefile
|
|
141
|
+
- lib/twentybn.rb
|
|
142
|
+
- lib/twentybn/config.rb
|
|
143
|
+
- lib/twentybn/image.rb
|
|
144
|
+
- lib/twentybn/railtie.rb
|
|
145
|
+
- lib/twentybn/version.rb
|
|
146
|
+
- test/fixtures/files/test_image.jpg
|
|
147
|
+
- test/fixtures/results.yml
|
|
148
|
+
- test/fixtures/vcr_cassettes/ask.yml
|
|
149
|
+
- test/fixtures/vcr_cassettes/tag_categories.yml
|
|
150
|
+
- test/fixtures/vcr_cassettes/tag_custom.yml
|
|
151
|
+
- test/fixtures/vcr_cassettes/tag_objects.yml
|
|
152
|
+
- test/fixtures/vcr_cassettes/tag_places.yml
|
|
153
|
+
- test/test_helper.rb
|
|
154
|
+
- test/twentybn/image_test.rb
|
|
155
|
+
- twentybn.gemspec
|
|
156
|
+
homepage: https://www.twentybn.com
|
|
157
|
+
licenses:
|
|
158
|
+
- MIT
|
|
159
|
+
metadata: {}
|
|
160
|
+
post_install_message:
|
|
161
|
+
rdoc_options: []
|
|
162
|
+
require_paths:
|
|
163
|
+
- lib
|
|
164
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
165
|
+
requirements:
|
|
166
|
+
- - ">="
|
|
167
|
+
- !ruby/object:Gem::Version
|
|
168
|
+
version: '0'
|
|
169
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
|
+
requirements:
|
|
171
|
+
- - ">="
|
|
172
|
+
- !ruby/object:Gem::Version
|
|
173
|
+
version: '0'
|
|
174
|
+
requirements: []
|
|
175
|
+
rubyforge_project:
|
|
176
|
+
rubygems_version: 2.5.1
|
|
177
|
+
signing_key:
|
|
178
|
+
specification_version: 4
|
|
179
|
+
summary: Gem to access the twentybn.com deep learning api
|
|
180
|
+
test_files:
|
|
181
|
+
- test/fixtures/files/test_image.jpg
|
|
182
|
+
- test/fixtures/results.yml
|
|
183
|
+
- test/fixtures/vcr_cassettes/ask.yml
|
|
184
|
+
- test/fixtures/vcr_cassettes/tag_categories.yml
|
|
185
|
+
- test/fixtures/vcr_cassettes/tag_custom.yml
|
|
186
|
+
- test/fixtures/vcr_cassettes/tag_objects.yml
|
|
187
|
+
- test/fixtures/vcr_cassettes/tag_places.yml
|
|
188
|
+
- test/test_helper.rb
|
|
189
|
+
- test/twentybn/image_test.rb
|