NEML2 2.0.0
Loading...
Searching...
No Matches
UserTensor Class Reference

Create raw Tensor from the input file. More...

Detailed Description

Create raw Tensor from the input file.

#include <UserTensor.h>

Inheritance diagram for UserTensor:

Public Member Functions

 UserTensor (const OptionSet &options)
 Construct a new UserTensor object.
 
- Public Member Functions inherited from Tensor
 Tensor ()=default
 Default constructor.
 
 Tensor (const torch::Tensor &tensor, Size batch_dim)
 Construct from another torch::Tensor.
 
 Tensor (const torch::Tensor &tensor, const TraceableTensorShape &batch_shape)
 Construct from another torch::Tensor with given batch shape.
 
template<class Derived2 >
 Tensor (const TensorBase< Derived2 > &tensor)
 Copy constructor.
 
- Public Member Functions inherited from TensorBase< Tensor >
 TensorBase ()=default
 Default constructor.
 
 TensorBase (const torch::Tensor &tensor, Size batch_dim)
 Construct from another torch::Tensor with given batch dimension.
 
 TensorBase (const torch::Tensor &tensor, const TraceableTensorShape &batch_shape)
 Construct from another torch::Tensor with given batch shape.
 
 TensorBase (const TensorBase< Derived2 > &tensor)
 Copy constructor.
 
 TensorBase (Real)=delete
 
Tensor variable_data () const
 
Tensor clone (torch::MemoryFormat memory_format=torch::MemoryFormat::Contiguous) const
 
Tensor detach () const
 Discard function graph.
 
Tensor to (const torch::TensorOptions &options) const
 Change tensor options.
 
Tensor operator- () const
 Negation.
 
bool batched () const
 Whether the tensor is batched.
 
Size batch_dim () const
 Return the number of batch dimensions.
 
Size base_dim () const
 Return the number of base dimensions.
 
const TraceableTensorShapebatch_sizes () const
 Return the batch size.
 
TraceableSize batch_size (Size index) const
 Return the size of a batch axis.
 
TensorShapeRef base_sizes () const
 Return the base size.
 
Size base_size (Size index) const
 Return the size of a base axis.
 
Size base_storage () const
 Return the flattened storage needed just for the base indices.
 
Tensor batch_index (indexing::TensorIndicesRef indices) const
 Get a tensor by slicing on the batch dimensions.
 
neml2::Tensor base_index (indexing::TensorIndicesRef indices) const
 Get a tensor by slicing on the base dimensions.
 
void batch_index_put_ (indexing::TensorIndicesRef indices, const torch::Tensor &other)
 
void batch_index_put_ (indexing::TensorIndicesRef indices, Real v)
 
void base_index_put_ (indexing::TensorIndicesRef indices, const torch::Tensor &other)
 
void base_index_put_ (indexing::TensorIndicesRef indices, Real v)
 
Tensor batch_expand (const TraceableTensorShape &batch_shape) const
 
Tensor batch_expand (const TraceableSize &batch_size, Size dim) const
 Return a new view of the tensor with values broadcast along a given batch dimension.
 
neml2::Tensor base_expand (TensorShapeRef base_shape) const
 Return a new view of the tensor with values broadcast along the base dimensions.
 
neml2::Tensor base_expand (Size base_size, Size dim) const
 Return a new view of the tensor with values broadcast along a given base dimension.
 
Tensor batch_expand_as (const Derived2 &other) const
 Expand the batch to have the same shape as another tensor.
 
Derived2 base_expand_as (const Derived2 &other) const
 Expand the base to have the same shape as another tensor.
 
Tensor batch_expand_copy (const TraceableTensorShape &batch_shape) const
 Return a new tensor with values broadcast along the batch dimensions.
 
neml2::Tensor base_expand_copy (TensorShapeRef base_shape) const
 Return a new tensor with values broadcast along the base dimensions.
 
Tensor batch_reshape (const TraceableTensorShape &batch_shape) const
 Reshape batch dimensions.
 
neml2::Tensor base_reshape (TensorShapeRef base_shape) const
 Reshape base dimensions.
 
Tensor batch_unsqueeze (Size d) const
 Unsqueeze a batch dimension.
 
neml2::Tensor base_unsqueeze (Size d) const
 Unsqueeze a base dimension.
 
Tensor batch_transpose (Size d1, Size d2) const
 Transpose two batch dimensions.
 
neml2::Tensor base_transpose (Size d1, Size d2) const
 Transpose two base dimensions.
 
neml2::Tensor base_flatten () const
 Flatten base dimensions.
 
- Public Member Functions inherited from UserTensorBase
 UserTensorBase (const OptionSet &options)
 
- Public Member Functions inherited from NEML2Object
 NEML2Object ()=delete
 
 NEML2Object (NEML2Object &&)=delete
 
 NEML2Object (const NEML2Object &)=delete
 
NEML2Objectoperator= (const NEML2Object &)=delete
 
NEML2Objectoperator= (NEML2Object &&)=delete
 
virtual ~NEML2Object ()=default
 
 NEML2Object (const OptionSet &options)
 Construct a new NEML2Object object.
 
const OptionSetinput_options () const
 
virtual void setup ()
 Setup this object.
 
const std::string & name () const
 A readonly reference to the object's name.
 
const std::string & type () const
 A readonly reference to the object's type.
 
const std::string & path () const
 A readonly reference to the object's path.
 
const std::string & doc () const
 A readonly reference to the object's docstring.
 
template<typename T = NEML2Object>
const T * host () const
 Get a readonly pointer to the host.
 
template<typename T = NEML2Object>
T * host ()
 Get a writable pointer to the host.
 

Static Public Member Functions

static OptionSet expected_options ()
 
- Static Public Member Functions inherited from Tensor
static Tensor empty (TensorShapeRef base_shape, const torch::TensorOptions &options=default_tensor_options())
 Unbatched empty tensor given base shape.
 
static Tensor empty (const TraceableTensorShape &batch_shape, TensorShapeRef base_shape, const torch::TensorOptions &options=default_tensor_options())
 Empty tensor given batch and base shapes.
 
static Tensor zeros (TensorShapeRef base_shape, const torch::TensorOptions &options=default_tensor_options())
 Unbatched tensor filled with zeros given base shape.
 
static Tensor zeros (const TraceableTensorShape &batch_shape, TensorShapeRef base_shape, const torch::TensorOptions &options=default_tensor_options())
 Zero tensor given batch and base shapes.
 
static Tensor ones (TensorShapeRef base_shape, const torch::TensorOptions &options=default_tensor_options())
 Unbatched tensor filled with ones given base shape.
 
static Tensor ones (const TraceableTensorShape &batch_shape, TensorShapeRef base_shape, const torch::TensorOptions &options=default_tensor_options())
 Unit tensor given batch and base shapes.
 
static Tensor full (TensorShapeRef base_shape, Real init, const torch::TensorOptions &options=default_tensor_options())
 Unbatched tensor filled with a given value given base shape.
 
static Tensor full (const TraceableTensorShape &batch_shape, TensorShapeRef base_shape, Real init, const torch::TensorOptions &options=default_tensor_options())
 Full tensor given batch and base shapes.
 
static Tensor identity (Size n, const torch::TensorOptions &options=default_tensor_options())
 Unbatched identity tensor.
 
static Tensor identity (const TraceableTensorShape &batch_shape, Size n, const torch::TensorOptions &options=default_tensor_options())
 Identity tensor given batch shape and base length.
 
- Static Public Member Functions inherited from TensorBase< Tensor >
static Tensor empty_like (const Tensor &other)
 Empty tensor like another, i.e. same batch and base shapes, same tensor options, etc.
 
static Tensor zeros_like (const Tensor &other)
 Zero tensor like another, i.e. same batch and base shapes, same tensor options, etc.
 
static Tensor ones_like (const Tensor &other)
 Unit tensor like another, i.e. same batch and base shapes, same tensor options, etc.
 
static Tensor full_like (const Tensor &other, Real init)
 
static Tensor linspace (const Tensor &start, const Tensor &end, Size nstep, Size dim=0)
 Create a new tensor by adding a new batch dimension with linear spacing between start and end.
 
static Tensor logspace (const Tensor &start, const Tensor &end, Size nstep, Size dim=0, Real base=10)
 log-space equivalent of the linspace named constructor
 
- Static Public Member Functions inherited from UserTensorBase
static OptionSet expected_options ()
 
- Static Public Member Functions inherited from NEML2Object
static OptionSet expected_options ()
 

Constructor & Destructor Documentation

◆ UserTensor()

UserTensor ( const OptionSet & options)

Construct a new UserTensor object.

Parameters
optionsThe options extracted from the input file.

Member Function Documentation

◆ expected_options()

OptionSet expected_options ( )
static