🤝 Trade any tensors over the network
🤝 Trade any tensors over the network
TensorShare is a powerful tool enabling ⚡ lightning-fast tensor sharing across networks.
This project leverages the best open-source tools to provide a simple and easy-to-use interface for sharing tensors:
This project is heavily in development and is not ready for production use. Feel free to contribute to the project by opening issues and pull requests.
Example of tensors serialization with torch:
import torch
from tensorshare import TensorShare
tensors = {
"embeddings": torch.zeros((2, 2)),
"labels": torch.zeros((2, 2)),
}
ts = TensorShare.from_dict(tensors, backend="torch")
print(ts)
# tensors=b'gAAAAAAAAAB7ImVtYmVkZGluZ3MiOnsiZHR5cGUiO...' size=168
You can now freely send the tensors over the network via any means (e.g. HTTP, gRPC, ...).
On the other side, when you receive the tensors, you can deserialize them in any supported backend:
from tensorshare import Backend
np_tensors = ts.to_tensors(backend=Backend.NUMPY)
print(np_tensors)
# {
# 'embeddings': array([[0., 0.], [0., 0.]], dtype=float32),
# 'labels': array([[0., 0.], [0., 0.]], dtype=float32)
# }
For more examples and details, please refer to the Usage section.