ndav-ort_value 0.0.2 → 0.0.4
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/README.md +22 -1
- data/lib/ndav/ort_value.rb +26 -50
- data/ndav-ort_value.gemspec +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 304532f2da38f6bfb85d3cee934fc353485321481f2765cd574c20896243d9cc
|
|
4
|
+
data.tar.gz: 95fb3f89d47cb3188ceab7f32c7373e0d8245c1e983147b615687ef6701fe8d0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 61550a33ec5ebb7c5d0cedf8fe992e09d67948bb91dae9ebf4625287fb29438a852eb716c78da069cd3f9e282ab45c1b0e29c39662c2f2baadeaed158665606b
|
|
7
|
+
data.tar.gz: '0837dfb4b3e1f38112fb87495ed4f57b1f775303a428872c97a03e5f10eabfdd42a9831a4e61a28ac90ad6efeedb525a2c7978e3853fd28e2dc5f9fe1fc0cfb5'
|
data/README.md
CHANGED
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
OnnxRuntime::OrtValue::NDAV
|
|
2
2
|
===========================
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
[NDAV][] bridge for [ONNX Runtime Ruby][].
|
|
5
|
+
|
|
6
|
+
SYNOPSIS
|
|
7
|
+
--------
|
|
8
|
+
|
|
9
|
+
```ruby
|
|
10
|
+
require "ndav/ort_value"
|
|
11
|
+
|
|
12
|
+
ort_value = OnnxRuntime::OrtValue.from_array([1.0, 2.0, 3.0], element_type: :float) # => OnnxRuntime::OrtValue
|
|
13
|
+
ndav = ort_value.to_ndav # => NDAV
|
|
14
|
+
ort_value = ndav.to_ort_value # => OnnxRuntime::OrtValue
|
|
15
|
+
|
|
16
|
+
memory_view = Fiddle::MemoryView.new(ort_value) # => Fiddle::MemoryView, now it may export a MemoryView
|
|
17
|
+
|
|
18
|
+
ndav = NDAV.from_ort_value(ort_value) # => NDAV
|
|
19
|
+
ort_value = OnnxRuntime::OrtValue.from_ndav(ndav) # => OnnxRuntime::OrtValue
|
|
20
|
+
|
|
21
|
+
include NDAV::Converter
|
|
22
|
+
ndav = NDAV(ort_value) # => NDAV
|
|
23
|
+
ort_value = OrtValue(ndav) # => OnnxRuntime::OrtValue
|
|
24
|
+
```
|
|
5
25
|
|
|
6
26
|
LICENSE
|
|
7
27
|
------
|
|
8
28
|
|
|
9
29
|
MIT license. See LICENSE.txt file.
|
|
10
30
|
|
|
31
|
+
[NDAV]: https://kitaitimakoto.gitlab.io/ndav/
|
|
11
32
|
[ONNX Runtime Ruby]: https://github.com/ankane/onnxruntime-ruby
|
data/lib/ndav/ort_value.rb
CHANGED
|
@@ -83,66 +83,42 @@ class NDAV
|
|
|
83
83
|
end
|
|
84
84
|
end
|
|
85
85
|
|
|
86
|
-
module
|
|
87
|
-
def
|
|
86
|
+
module MemoryViewable
|
|
87
|
+
def ndav_descriptor(**)
|
|
88
88
|
item_size = TYPE_SIZES[element_type]
|
|
89
|
-
|
|
89
|
+
unless item_size
|
|
90
|
+
warn "unsupported type: #{element_type}"
|
|
91
|
+
return false
|
|
92
|
+
end
|
|
93
|
+
|
|
90
94
|
byte_size = shape.reduce(item_size, :*)
|
|
91
95
|
|
|
92
|
-
|
|
93
|
-
::Fiddle::Pointer.new(data_ptr.address, byte_size),
|
|
94
|
-
shape
|
|
96
|
+
{
|
|
97
|
+
data: ::Fiddle::Pointer.new(data_ptr.address, byte_size),
|
|
98
|
+
shape:,
|
|
99
|
+
strides: ::NDAV.default_strides(shape:, item_size:),
|
|
95
100
|
format: TYPE_TO_FORMAT[element_type],
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
module FromOrtValue
|
|
102
|
-
def from_ort_value(array)
|
|
103
|
-
array.to_ndav
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
module ToOrtValue
|
|
108
|
-
def to_ort_value
|
|
109
|
-
::OnnxRuntime::OrtValue.from_ndav(self)
|
|
101
|
+
byte_size:,
|
|
102
|
+
readonly?: true,
|
|
103
|
+
sub_offsets: nil
|
|
104
|
+
}
|
|
110
105
|
end
|
|
111
106
|
end
|
|
112
107
|
|
|
113
108
|
module Converter
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
super
|
|
124
|
-
end
|
|
125
|
-
end
|
|
126
|
-
else
|
|
127
|
-
def OrtValue(array, *, **)
|
|
128
|
-
if array.kind_of? ::NDAV
|
|
129
|
-
array.to_ort_value
|
|
130
|
-
elsif array.respond_to? :to_ort_value
|
|
131
|
-
array.to_ort_value
|
|
132
|
-
elsif array.respond_to? :to_ndav
|
|
133
|
-
array.to_ndav(*, **).to_ort_value
|
|
134
|
-
else
|
|
135
|
-
::NDAV.new(array, *, **).to_ort_value
|
|
136
|
-
end
|
|
109
|
+
def OrtValue(array, *, **)
|
|
110
|
+
if array.kind_of? ::OnnxRuntime::OrtValue
|
|
111
|
+
array
|
|
112
|
+
elsif array.respond_to? :to_ort_value
|
|
113
|
+
array.to_ort_value
|
|
114
|
+
elsif array.respond_to? :to_ndav
|
|
115
|
+
to_ndav(*, **).to_ort_value
|
|
116
|
+
else
|
|
117
|
+
::NDAV.new(array, *, **).to_ort_value
|
|
137
118
|
end
|
|
138
119
|
end
|
|
139
120
|
end
|
|
140
|
-
|
|
141
|
-
::OnnxRuntime::OrtValue.extend FromNDAV
|
|
142
|
-
::OnnxRuntime::OrtValue.include ToNDAV
|
|
143
|
-
::NDAV.extend FromOrtValue
|
|
144
|
-
::NDAV.include ToOrtValue
|
|
145
|
-
::NDAV::Converter.singleton_class.prepend Converter
|
|
146
|
-
::NDAV::Converter.prepend Converter
|
|
147
121
|
end
|
|
122
|
+
|
|
123
|
+
::NDAV.register ::OnnxRuntime::OrtValue, OrtValue, name: :ort_value
|
|
148
124
|
end
|
data/ndav-ort_value.gemspec
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = "ndav-ort_value"
|
|
3
|
-
s.version = "0.0.
|
|
3
|
+
s.version = "0.0.4"
|
|
4
4
|
s.authors = ["Kitaiti Makoto"]
|
|
5
5
|
s.summary = "OnnxRuntime extension for MemoryView exporters and pointers"
|
|
6
6
|
s.licenses = ["MIT"]
|
|
7
7
|
s.homepage = "https://gitlab.com/KitaitiMakoto/ndav-ort_value"
|
|
8
8
|
|
|
9
9
|
s.add_runtime_dependency "onnxruntime"
|
|
10
|
-
s.add_runtime_dependency "ndav"
|
|
10
|
+
s.add_runtime_dependency "ndav", ">= 0.0.5"
|
|
11
11
|
|
|
12
12
|
s.files = Dir.chdir(__dir__) {`git ls-files -z`.split("\x0")}
|
|
13
13
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ndav-ort_value
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kitaiti Makoto
|
|
@@ -29,14 +29,14 @@ dependencies:
|
|
|
29
29
|
requirements:
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
32
|
+
version: 0.0.5
|
|
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:
|
|
39
|
+
version: 0.0.5
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: rake
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -164,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
164
164
|
- !ruby/object:Gem::Version
|
|
165
165
|
version: '0'
|
|
166
166
|
requirements: []
|
|
167
|
-
rubygems_version: 4.0.
|
|
167
|
+
rubygems_version: 4.0.16
|
|
168
168
|
specification_version: 4
|
|
169
169
|
summary: OnnxRuntime extension for MemoryView exporters and pointers
|
|
170
170
|
test_files: []
|