template<typename Optimizer, typename GeometryMap, typename Variable, template< typename, typename > typename IgABase = IgABase>
requires OptimizerType<Optimizer> && FunctionSpaceType<GeometryMap> && FunctionSpaceType<Variable>
class iganet::v1::IgANet< Optimizer, GeometryMap, Variable, IgABase >
IgANet.
This class implements the core functionality of IgANets.
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = IgABase>
template<std::size_t NumCoeffs>
Constructor: number of layers, activation functions, and number of spline coefficients (same for geometry map and variables)
- Template Parameters
-
| NumCoeffs | Template parameter NumCoeffs. |
- Parameters
-
| layers | Value of layers. |
| activations | Value of activations. |
| numCoeffs | Value of numCoeffs. |
| defaults | Value of defaults. |
| options | Configuration options. |
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = IgABase>
template<std::size_t GeometryMapNumCoeffs, std::size_t VariableNumCoeffs>
| iganet::v1::IgANet< Optimizer, GeometryMap, Variable, IgABase >::IgANet |
( |
const std::vector< int64_t > & |
layers, |
|
|
const std::vector< std::vector< std::any > > & |
activations, |
|
|
std::array< int64_t, GeometryMapNumCoeffs > |
geometryMapNumCoeffs, |
|
|
std::array< int64_t, VariableNumCoeffs > |
variableNumCoeffs, |
|
|
IgANetOptions |
defaults = {}, |
|
|
iganet::Options< typename Base::value_type > |
options = iganet::Options<typename Base::value_type>{} |
|
) |
| |
|
inline |
Constructor: number of layers, activation functions, and number of spline coefficients (different for geometry map and variables)
- Template Parameters
-
| GeometryMapNumCoeffs | Template parameter GeometryMapNumCoeffs. |
| VariableNumCoeffs | Template parameter VariableNumCoeffs. |
- Parameters
-
| layers | Value of layers. |
| activations | Value of activations. |
| geometryMapNumCoeffs | Value of geometryMapNumCoeffs. |
| variableNumCoeffs | Value of variableNumCoeffs. |
| defaults | Value of defaults. |
| options | Configuration options. |
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = IgABase>
template<std::size_t... GeometryMapNumCoeffs, std::size_t... VariableNumCoeffs>
| iganet::v1::IgANet< Optimizer, GeometryMap, Variable, IgABase >::IgANet |
( |
const std::vector< int64_t > & |
layers, |
|
|
const std::vector< std::vector< std::any > > & |
activations, |
|
|
std::tuple< std::array< int64_t, GeometryMapNumCoeffs >... > |
geometryMapNumCoeffs, |
|
|
std::tuple< std::array< int64_t, VariableNumCoeffs >... > |
variableNumCoeffs, |
|
|
IgANetOptions |
defaults = {}, |
|
|
iganet::Options< typename Base::value_type > |
options = iganet::Options<typename Base::value_type>{} |
|
) |
| |
|
inline |
Provides the IgANet operation.
- Parameters
-
| layers | Value of layers. |
| activations | Value of activations. |
| geometryMapNumCoeffs | Value of geometryMapNumCoeffs. |
| variableNumCoeffs | Value of variableNumCoeffs. |
| defaults | Value of defaults. |
| options | Configuration options. |
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = IgABase>
Initializes epoch.
- Returns
- Result of the operation.
Implemented in fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, poisson< Optimizer, GeometryMap, Variable >, poisson< Optimizer, GeometryMap, Variable >, Fitting< Optimizer, GeometryMap, Variable, memory_optimized, false >, Fitting< Optimizer, GeometryMap, Variable, memory_optimized, true >, and IgANet< Optimizer, GeometryMap, Variable >.
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = IgABase>
Returns the network inputs.
In the default implementation the inputs are the controll points of the geometry and the reference spline objects. This behavior can be changed by overriding this virtual function in a derived class.
- Parameters
-
- Returns
- Result of the operation.
template<typename Optimizer , typename GeometryMap , typename Variable , template< typename, typename > typename IgABase = IgABase>
| virtual torch::Tensor iganet::v1::IgANet< Optimizer, GeometryMap, Variable, IgABase >::loss |
( |
const torch::Tensor & |
, |
|
|
int64_t |
|
|
) |
| |
|
pure virtual |
Computes the loss function.
- Returns
- Result of the operation.
Implemented in fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, fitting< Optimizer, GeometryMap, Variable >, poisson< Optimizer, GeometryMap, Variable >, poisson< Optimizer, GeometryMap, Variable >, Fitting< Optimizer, GeometryMap, Variable, memory_optimized, false >, Fitting< Optimizer, GeometryMap, Variable, memory_optimized, true >, and IgANet< Optimizer, GeometryMap, Variable >.