Closed
Description
Next
- add
num_workers
option to data loader - add
tensor.storage
method - add support for loading saved optimizers (
load_state_dict
)
Performance
- Disable global VM lock for C++ functions
Simplicity
- Try using
Declarations.yaml
instead ofnative_functions.yaml
Other
- decide on name (Torch-rb, Torch.rb, Torchrb, Torch Ruby, other suggestions?)
- test on Windows
Hold
- Numo bridge for
from_numo
method -numo_bridge
branch (need to test Numo views and more)
Blocked
- Numo bridge - see Interfacing with FFI. Pointer access. ruby-numo/numo-narray#27
-
numo
method -numo_bridge_to
branch (requiresnary_set_pointer
to be exported from Numo) - Export nary_set_pointer method ruby-numo/numo-narray#170
-
Maybe
- support positional or keyword arguments to make code easier to port -
positional
branch - flatten namespace -
Torch::NN::F.relu
->Torch.relu
,Torch::NN::Linear
->Torch::Linear
, etc - use
autoload
instead ofrequire
- move more logic to C++ frontend (less flexibility but easier maintenance)
Later
-
torch.hub
- would need to reimplement models in Ruby (similar to TorchVision) - run TorchScript models https://pytorch.org/tutorials/advanced/cpp_export.html
- support ONNX export (not supported in LibTorch)
Decided against
- Return tensor for comparison operators (
==
,>
,>=
,<
,<=
). Unlike Python, this causesTorch.tensor(0) == 1
to return a truthy value, and there's no way to override truthy in Ruby.
Metadata
Metadata
Assignees
Labels
No labels