Tensor
The tensor serves as the fundamental data structure, and cofhe supports most of the PyTorch tensor API.
cofhe.Tensor
The core tensor class in CoFHE, similar totorch.Tensor
, but with additional support for encrypted computations. It supports tensor operations such as addition, multiplication, and broadcasting, while maintaining privacy for the underlying data.Tensor.new_tensor(data)
Creates a new tensor from the provided data, preserving the encryption format if applicable.Tensor.new_empty(shape)
Creates a new tensor filled with uninitialized values, with the specified shape.Tensor.new_zeros(shape)
Creates a new tensor filled with zeros of the specified shape.Tensor.new_ones(shape)
Creates a new tensor filled with ones of the specified shape.Tensor.new_full(shape, fill_value)
Creates a new tensor with the specified shape and fills it with the provided value.Tensor.new_rand(shape)
Creates a new tensor with random values between 0 and 1.Tensor.new_randn(shape)
Creates a new tensor filled with values sampled from a standard normal distribution.Tensor.new_eye(size)
Creates a new identity matrix (diagonal of ones, other elements are zeros) with the specified size.Tensor.new_arange(start, end, step)
Creates a tensor filled with values fromstart
toend
with the given step size.Tensor.new_linspace(start, end, steps)
Creates a tensor with linearly spaced values fromstart
toend
, havingsteps
number of points.Tensor.new_logspace(start, end, steps)
Creates a tensor with logarithmically spaced values between 10^start and 10^end, withsteps
points.Tensor.element_size()
Returns the size (in bytes) of each element in the tensor.Tensor.numel()
Returns the total number of elements in the tensor.Tensor.size()
Returns the shape of the tensor.Tensor.shape()
Returns the shape (tuple of dimensions) of the tensor.Tensor.dim()
Returns the number of dimensions (rank) of the tensor.Tensor.view(new_shape)
Returns a new tensor with the same data but a different shape.Tensor.reshape(new_shape)
Returns a new tensor with the same data but with a reshaped dimension.Tensor.squeeze(dim)
Removes the specified dimension (if its size is 1) from the tensor.Tensor.unsqueeze(dim)
Adds a dimension of size 1 at the specified position.Tensor.flatten()
Flattens the tensor into a 1D tensor.Tensor.transpose(dim0, dim1)
Transposes two dimensions of the tensor.Tensor.t()
Returns the transpose of the tensor (works only on 2D tensors).Tensor.contiguous()
Returns a contiguous tensor in memory (useful after operations like transpose or reshape).Tensor.clone()
Returns a copy of the tensor, maintaining the original's encryption state.
Last updated