grx-tensor 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.
metadata ADDED
@@ -0,0 +1,159 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: grx-tensor
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Angel Gabriel Garcia Razo
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rake
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '13.0'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '13.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rake-compiler
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.2'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.2'
40
+ - !ruby/object:Gem::Dependency
41
+ name: minitest
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '5.0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '5.0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: bundler
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.0'
68
+ description: |
69
+ GRX brings PyTorch-style tensor operations to Ruby. Every arithmetic op,
70
+ activation, and optimizer step runs through a native C library compiled
71
+ with AVX2+FMA SIMD. Ruby is the interface — C does the work.
72
+
73
+ Features: autograd, SGD/Adam optimizers, Linear/Sequential/Dropout/BatchNorm
74
+ layers, MSE/BCE/CrossEntropy loss functions, Xavier and He weight init.
75
+ Cross-platform: .so on Linux, .dylib on macOS, .dll on Windows.
76
+ email:
77
+ - garabatoangelopolis@gmail.com
78
+ executables: []
79
+ extensions:
80
+ - ext/grx/extconf.rb
81
+ extra_rdoc_files: []
82
+ files:
83
+ - CHANGELOG.md
84
+ - LICENSE.txt
85
+ - README.md
86
+ - ext/grx/extconf.rb
87
+ - ext/grx/grx_core.c
88
+ - ext/grx/grx_core.h
89
+ - ext/unix/Makefile
90
+ - ext/windows/Makefile.mingw
91
+ - grx-tensor.gemspec
92
+ - lib/grx.rb
93
+ - lib/grx/c_api.rb
94
+ - lib/grx/errors.rb
95
+ - lib/grx/loss.rb
96
+ - lib/grx/nn.rb
97
+ - lib/grx/optim.rb
98
+ - lib/grx/storage.rb
99
+ - lib/grx/tensor.rb
100
+ - lib/grx/version.rb
101
+ homepage: https://github.com/Gabo-Razo/grx-tensor
102
+ licenses:
103
+ - MIT
104
+ metadata:
105
+ homepage_uri: https://github.com/Gabo-Razo/grx-tensor
106
+ changelog_uri: https://github.com/Gabo-Razo/grx-tensor/blob/main/CHANGELOG.md
107
+ bug_tracker_uri: https://github.com/Gabo-Razo/grx-tensor/issues
108
+ post_install_message: |2+
109
+
110
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
111
+ GRX-Tensor 0.1.0 installed
112
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
113
+
114
+ Compile the C extension to enable AVX2+FMA SIMD:
115
+
116
+ Linux / macOS: make -C ext/unix
117
+ Windows: make -C ext/windows -f Makefile.mingw
118
+
119
+ Without it, GRX runs in pure Ruby fallback mode (slower but correct).
120
+
121
+ Quick start:
122
+
123
+ require "grx"
124
+
125
+ a = GRX.tensor([1.0, 2.0, 3.0], [3], requires_grad: true)
126
+ b = GRX.tensor([4.0, 5.0, 6.0], [3], requires_grad: true)
127
+ c = a + b
128
+ c.backward
129
+ puts a.grad.to_a # [1.0, 1.0, 1.0]
130
+
131
+ net = GRX::NN::Sequential.new(
132
+ GRX::NN::Linear.new(4, 16),
133
+ GRX::NN::ReLU.new,
134
+ GRX::NN::Linear.new(16, 1)
135
+ )
136
+ opt = GRX::Optim::Adam.new(net.parameters, lr: 0.001)
137
+
138
+ Docs: https://github.com/Gabo-Razo/grx-tensor
139
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
140
+
141
+ rdoc_options: []
142
+ require_paths:
143
+ - lib
144
+ required_ruby_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: 3.0.0
149
+ required_rubygems_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ requirements: []
155
+ rubygems_version: 3.6.7
156
+ specification_version: 4
157
+ summary: Tensor framework for Ruby with autograd and a C+SIMD compute core
158
+ test_files: []
159
+ ...