pynif3d.encoding¶
- class pynif3d.encoding.FourierEncoding(input_dimensions=3, output_dimensions=256, scale=10)¶
Bases:
torch.nn.modules.module.Module
The implementation of the paper “Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains”. This class encodes input N-dimensional coordinates into M-dimensional gaussian distribution and applies trigonometric encoding.
For more details, please check https://arxiv.org/abs/2006.10739.
Usage:
encoder = FourierEncoding() encoded_points = encoder(points)
Initializes internal Module state, shared by both nn.Module and ScriptModule.
- forward(x)¶
- Parameters
x (torch.Tensor) – Input tensor. Its shape is
(number_of_samples, input_dimensions)
.- Returns
- Tensor with shape
(number_of_samples, 2 * output_dimensions)
.
- Return type
torch.Tensor
- get_dimensions()¶
- training: bool¶
- class pynif3d.encoding.PositionalEncoding(is_include_input: bool = True, input_dimensions: int = 3, max_frequency: int = 9, num_frequency: int = 10, frequency_factor: float = 1.0, is_log_sampling: bool = True, periodic_functions: list = None)¶
Bases:
torch.nn.modules.module.Module
The positional encoding class. It defines several frequency bands and applies several frequency responses to the input signal.
Usage:
encoder = PositionalEncoding() encoded_points = encoder(points)
- Parameters
is_include_input (bool) – Boolean flags indicating whether to include the input signal in the output (True) or not (False). Default is True.
input_dimensions (int) – The dimension of the input signal. Default is 3.
max_frequency (int) – The upper limit of the frequency band. The upper limit will be set to 2^max_frequency. Default is 9.
num_frequency (int) – The number of frequency samples within the spectrum. Default is 10.
frequency_factor (float) – The factor to multiply the frequency samples by. Default value is 1.0.
is_log_sampling (bool) – Boolean flag indicating whether sampling shall be done in log spectrum (True) or not (False). Default is True.
periodic_functions (list) – The periodic functions to be applied per frequency. Default is
[sin, cos]
.
- forward(x)¶
- Parameters
x (torch.Tensor) – Input tensor. Its shape is
(number_of_samples, sample_dimension)
.- Returns
Tensor with shape
(number_of_samples, output_dimensions)
. output_dimensions can be obtained by calling the get_dimensions method.- Return type
torch.Tensor
- get_dimensions()¶
- training: bool¶