Practical Pipelining for pyTorch
Project description
Torch Tensor Types
This package is a Quality of Life improvement when prototyping and processing Tensor objects from the pyTorch library.
The TensorType class is a Pipeline for preprocessing tensors automatically, and include multiple utility methods. my_TensorType<<myData
You can add TensorTypes together to have a longer preprocessing pipeline. myTensorType + myOtherTensorType
For example, this code
fake_image = model(torch.unsqueeze(real_image, 0).cuda()).cpu().detach().numpy()[0]
can be replaced by
fake_image = SingleDisplayableImage<<model(ModelInputFormat<<real_image)
The list of arguments to the constructor is:
TensorType:
__init__(shape=None, transforms=[], torch_methods=[],
to_batch=False, device=None, from_single_value=False,
random_values=False, to_numpy=False, detach=False):
All of these should be pretty telling by their name, if you know pyTorch.
TensorType.shape
: the input will be viewed as this shapeTensorType.transforms
: a list of functions that will be applied at the endTensorType.torch_methods
: a list of method names that will be called on the tensor i.e"mean" => tensor.mean()
TorchType.to_batch
: will unsqueeze the data into a batch with a single sampleTorchType.device
: transfers the tensor to a deviceTorchType.from_single_value
: creates a uniform tensor from a single valueTorchType.random_values
: creates a tensor fromtorch.rand
TensorType.to_numpy
: outputs a numpy arrayTensorType.detach
: detachs the tensor from the graph
Syntax
from TTT import TensorType as TT
# Creates a uniform image tensor pipeline
myTensorType = TT(shape=(3, 224, 224), from_single_value=True)
# A black image
data = myTensorType<<0
# "myTensorType" will parse first, then the other TT
myDisplayableImage = myTensorType + TT(to_numpy=True, transforms=[np.transpose])
# A white image ready to display
myDisplayableImage<<1
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for torch_tensor_type-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c54e98af81c935cac846e2ce7cbbb7396bd25ef58dca03548255b12e3498b9f |
|
MD5 | 0df0e0de42dc96903a9e1657a16572ca |
|
BLAKE2b-256 | 143e2e8e487a3f1a4c2a6f28183b782a2433153f915f04baea4bfd821843ef79 |