ndav-torch-tensor 0.0.2 → 0.0.3
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 +20 -1
- data/lib/ndav/torch/tensor.rb +17 -5
- data/ndav-torch-tensor.gemspec +2 -2
- data/test/test_torch_tensor.rb +9 -0
- 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: 51c99b994468de49aacf7b24673dd7cd4e755b1bc1f5ea858d2aa85093aa299c
|
|
4
|
+
data.tar.gz: 9c0737070ab1b78c0f9ef3908b989060e6693d555380a6c793a3e4f26015dc57
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4d03dcd52b4cc3db70cd26222a6c2c0f2ae8ab6f361aa593227860fd93f4a1ff8c1423040e63e37bc929e7a517f7f2210874af71fe030e84b7bf3b74b212a747
|
|
7
|
+
data.tar.gz: b6cdbdfdac3d49920e23bdbad413d92d97e2343536b9f295d25a5319d1fdf139321e67995f20ac6dec61525e48888c129d351269a36b1d3cea6fcf7cdc6c9a5e
|
data/README.md
CHANGED
|
@@ -1,11 +1,30 @@
|
|
|
1
1
|
NDAV::Torch::Tensor
|
|
2
2
|
===================
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
[NDAV][] bridge for [Torch][]::Tensor.
|
|
5
|
+
|
|
6
|
+
SYNOPSIS
|
|
7
|
+
--------
|
|
8
|
+
|
|
9
|
+
```ruby
|
|
10
|
+
require "ndav/torch/tensor"
|
|
11
|
+
|
|
12
|
+
torch = Torch.rand(2, 3) # => Torch::Tensor
|
|
13
|
+
ndav = torch.to_ndav # => NDAV
|
|
14
|
+
torch = ndav.to_torch_tensor # => Torch::Tensor
|
|
15
|
+
|
|
16
|
+
ndav = NDAV.from_torch_tensor(torch) # => NDAV
|
|
17
|
+
torch = Torch::Tensor.from_ndav(ndav) # => Torch::Tensor
|
|
18
|
+
|
|
19
|
+
include NDAV::Converter
|
|
20
|
+
ndav = NDAV(torch) # => NDAV
|
|
21
|
+
torch = TorchTensor(ndav) # => Torch::NArray
|
|
22
|
+
```
|
|
5
23
|
|
|
6
24
|
LICENSE
|
|
7
25
|
-------
|
|
8
26
|
|
|
9
27
|
MIT license. See LICENSE.txt file.
|
|
10
28
|
|
|
29
|
+
[NDAV]: https://kitaitimakoto.gitlab.io/ndav/
|
|
11
30
|
[Torch]: https://github.com/ankane/torch.rb
|
data/lib/ndav/torch/tensor.rb
CHANGED
|
@@ -46,13 +46,25 @@ class NDAV
|
|
|
46
46
|
|
|
47
47
|
TYPE_SIZES = TYPE_TO_FORMAT.transform_values {|format| ITEM_SIZES[format]}
|
|
48
48
|
|
|
49
|
-
module
|
|
50
|
-
def
|
|
49
|
+
module MemoryViewable
|
|
50
|
+
def ndav_descriptor(**)
|
|
51
51
|
format = TYPE_TO_FORMAT[dtype]
|
|
52
|
-
|
|
52
|
+
unless format
|
|
53
|
+
warn "unsupported dtype: #{dtype}, currently supported: #{TYPE_TO_FORMAT.keys}"
|
|
54
|
+
return false
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
byte_size = numel * element_size
|
|
53
58
|
|
|
54
|
-
|
|
55
|
-
|
|
59
|
+
{
|
|
60
|
+
data: ::Fiddle::Pointer.new(_data_ptr, byte_size),
|
|
61
|
+
shape:,
|
|
62
|
+
strides: stride.collect {|s| s * element_size},
|
|
63
|
+
format:,
|
|
64
|
+
byte_size:,
|
|
65
|
+
readonly?: false,
|
|
66
|
+
sub_offsets: nil
|
|
67
|
+
}
|
|
56
68
|
end
|
|
57
69
|
end
|
|
58
70
|
|
data/ndav-torch-tensor.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = "ndav-torch-tensor"
|
|
3
|
-
s.version = "0.0.
|
|
3
|
+
s.version = "0.0.3"
|
|
4
4
|
s.authors = ["Kitaiti Makoto"]
|
|
5
5
|
s.summary = "N-Dimensional Array View for Torch::Tensors"
|
|
6
6
|
s.licenses = ["MIT"]
|
|
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
|
|
|
8
8
|
|
|
9
9
|
s.files = Dir.chdir(__dir__) {`git ls-files -z`.split("\x0")}
|
|
10
10
|
|
|
11
|
-
s.add_runtime_dependency "ndav", ">= 0.0.
|
|
11
|
+
s.add_runtime_dependency "ndav", ">= 0.0.5"
|
|
12
12
|
s.add_runtime_dependency "torch-rb"
|
|
13
13
|
|
|
14
14
|
s.add_development_dependency "rake"
|
data/test/test_torch_tensor.rb
CHANGED
|
@@ -14,6 +14,15 @@ class TestTorchTensor < Test::Unit::TestCase
|
|
|
14
14
|
assert_kind_of ::Torch::Tensor, ::Torch.from_ndav(@ndav)
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
+
def test_memory_view
|
|
18
|
+
Fiddle::MemoryView.export @torch_tensor do |view|
|
|
19
|
+
assert_equal "s", view.format
|
|
20
|
+
assert_equal [3], view.shape
|
|
21
|
+
assert_equal [2], view.strides
|
|
22
|
+
assert_equal [1, 2, 3].pack("s*"), view.to_s
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
17
26
|
def test_ndav_to_torch_tensor
|
|
18
27
|
assert_kind_of ::Torch::Tensor, @ndav.to_torch_tensor
|
|
19
28
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ndav-torch-tensor
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kitaiti Makoto
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.0.
|
|
18
|
+
version: 0.0.5
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.0.
|
|
25
|
+
version: 0.0.5
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: torch-rb
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -166,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
166
166
|
- !ruby/object:Gem::Version
|
|
167
167
|
version: '0'
|
|
168
168
|
requirements: []
|
|
169
|
-
rubygems_version: 4.0.
|
|
169
|
+
rubygems_version: 4.0.16
|
|
170
170
|
specification_version: 4
|
|
171
171
|
summary: N-Dimensional Array View for Torch::Tensors
|
|
172
172
|
test_files: []
|