transformers-rb 0.1.7 → 0.2.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/CHANGELOG.md +6 -0
- data/lib/transformers/pipelines/base.rb +15 -14
- data/lib/transformers/version.rb +1 -1
- data/lib/transformers.rb +1 -2
- metadata +6 -7
- data/lib/transformers/sentence_transformer.rb +0 -21
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 40fb96eeb1204ea7b669c60479ca5170d11ecd78a923a6939bb358112f6bca5c
|
|
4
|
+
data.tar.gz: b069363067e3c40371bbba3967d5cad86b6f0d6060cca15c757f806f8f152508
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 53bac82a7496acaf5da0e5d9636841d4ef3e32cb69177233375d88d989d00c147e1630e9844cdb0f3e7ed3e2fc26dea40c72b6115790ca89d873954ee417d759
|
|
7
|
+
data.tar.gz: d7cd31d7cdc821ff689c4c4136f4ee06247a0978b25d36d8aefe9da5cfd20301a33daceb98ee74a291bf8754859dc00d27080b9d2a33d83f1e69b22738334449
|
data/CHANGELOG.md
CHANGED
|
@@ -115,23 +115,24 @@ module Transformers
|
|
|
115
115
|
@framework = framework
|
|
116
116
|
|
|
117
117
|
if device.nil?
|
|
118
|
-
|
|
119
|
-
Transformers.logger.warn(
|
|
120
|
-
"Hardware accelerator e.g. GPU is available in the environment, but no `device` argument" +
|
|
121
|
-
" is passed to the `Pipeline` object. Model will be on CPU."
|
|
122
|
-
)
|
|
123
|
-
end
|
|
118
|
+
device = 0
|
|
124
119
|
end
|
|
125
120
|
|
|
126
|
-
if
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
121
|
+
if device == -1 && !@model.device.nil?
|
|
122
|
+
device = @model.device
|
|
123
|
+
end
|
|
124
|
+
if device.is_a?(Torch::Device)
|
|
125
|
+
@device = device
|
|
126
|
+
elsif device.is_a?(String)
|
|
127
|
+
@device = Torch.device(device)
|
|
128
|
+
elsif device < 0
|
|
129
|
+
@device = Torch.device("cpu")
|
|
130
|
+
elsif Torch::CUDA.available?
|
|
131
|
+
@device = Torch.device("cuda:%d" % device)
|
|
132
|
+
elsif Torch::Backends::MPS.available?
|
|
133
|
+
@device = Torch.device("mps:%d" % device)
|
|
133
134
|
else
|
|
134
|
-
|
|
135
|
+
@device = Torch.device("cpu")
|
|
135
136
|
end
|
|
136
137
|
|
|
137
138
|
# TODO Fix eql? for Torch::Device in Torch.rb
|
data/lib/transformers/version.rb
CHANGED
data/lib/transformers.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# dependencies
|
|
2
|
-
require "numo/narray"
|
|
2
|
+
require "numo/narray/alt"
|
|
3
3
|
require "safetensors"
|
|
4
4
|
require "tokenizers"
|
|
5
5
|
require "torch-rb"
|
|
@@ -30,7 +30,6 @@ require_relative "transformers/image_processing_utils"
|
|
|
30
30
|
require_relative "transformers/image_transforms"
|
|
31
31
|
require_relative "transformers/modeling_outputs"
|
|
32
32
|
require_relative "transformers/modeling_utils"
|
|
33
|
-
require_relative "transformers/sentence_transformer"
|
|
34
33
|
require_relative "transformers/tokenization_utils_base"
|
|
35
34
|
require_relative "transformers/tokenization_utils"
|
|
36
35
|
require_relative "transformers/tokenization_utils_fast"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: transformers-rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Kane
|
|
@@ -24,19 +24,19 @@ dependencies:
|
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: '0'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name: numo-narray
|
|
27
|
+
name: numo-narray-alt
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.
|
|
32
|
+
version: '0.10'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - ">="
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 0.
|
|
39
|
+
version: '0.10'
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: safetensors
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -144,7 +144,6 @@ files:
|
|
|
144
144
|
- lib/transformers/pipelines/text_classification.rb
|
|
145
145
|
- lib/transformers/pipelines/token_classification.rb
|
|
146
146
|
- lib/transformers/ruby_utils.rb
|
|
147
|
-
- lib/transformers/sentence_transformer.rb
|
|
148
147
|
- lib/transformers/tokenization_utils.rb
|
|
149
148
|
- lib/transformers/tokenization_utils_base.rb
|
|
150
149
|
- lib/transformers/tokenization_utils_fast.rb
|
|
@@ -169,14 +168,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
169
168
|
requirements:
|
|
170
169
|
- - ">="
|
|
171
170
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '3.
|
|
171
|
+
version: '3.3'
|
|
173
172
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
173
|
requirements:
|
|
175
174
|
- - ">="
|
|
176
175
|
- !ruby/object:Gem::Version
|
|
177
176
|
version: '0'
|
|
178
177
|
requirements: []
|
|
179
|
-
rubygems_version: 4.0.
|
|
178
|
+
rubygems_version: 4.0.6
|
|
180
179
|
specification_version: 4
|
|
181
180
|
summary: State-of-the-art transformers for Ruby
|
|
182
181
|
test_files: []
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module Transformers
|
|
2
|
-
# TODO remove in 0.2.0
|
|
3
|
-
class SentenceTransformer
|
|
4
|
-
def initialize(model_id)
|
|
5
|
-
@model_id = model_id
|
|
6
|
-
@model = Transformers.pipeline("embedding", model_id)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def encode(sentences)
|
|
10
|
-
# TODO check modules.json
|
|
11
|
-
if [
|
|
12
|
-
"sentence-transformers/all-MiniLM-L6-v2",
|
|
13
|
-
"sentence-transformers/multi-qa-MiniLM-L6-cos-v1"
|
|
14
|
-
].include?(@model_id)
|
|
15
|
-
@model.(sentences)
|
|
16
|
-
else
|
|
17
|
-
@model.(sentences, pooling: "cls", normalize: false)
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|