Class InitializationStrategies<T>
- Namespace
- AiDotNet.Initialization
- Assembly
- AiDotNet.dll
Provides factory methods and default instances for initialization strategies.
public static class InitializationStrategies<T>
Type Parameters
TThe numeric type used for calculations.
- Inheritance
-
InitializationStrategies<T>
- Inherited Members
Remarks
This static class provides convenient access to commonly used initialization strategies as singletons, reducing memory allocations when the same strategy is used across multiple layers or networks.
Usage:
// Use lazy initialization for fast network construction
var strategy = InitializationStrategies<double>.Lazy;
// Use eager initialization for traditional behavior
var strategy = InitializationStrategies<double>.Eager;
// Use zero initialization for testing
var strategy = InitializationStrategies<double>.Zero;
// Load from file for transfer learning
var strategy = InitializationStrategies<double>.FromFile("weights.json");
Properties
Eager
Gets the default eager initialization strategy.
public static IInitializationStrategy<T> Eager { get; }
Property Value
Remarks
Eager initialization initializes weights immediately during layer construction. This is the traditional approach that ensures all weights are ready before training.
Lazy
Gets the default lazy initialization strategy.
public static IInitializationStrategy<T> Lazy { get; }
Property Value
Remarks
Lazy initialization defers weight initialization until the first forward pass, making network construction faster.
Zero
Gets the zero initialization strategy.
public static IInitializationStrategy<T> Zero { get; }
Property Value
Remarks
Zero initialization sets all weights to zero. Use only for testing or specific architectures that require it. Not recommended for general training.
Methods
FromFile(string, WeightFileFormat)
Creates a new initialization strategy that loads weights from a file.
public static IInitializationStrategy<T> FromFile(string filePath, WeightFileFormat format = WeightFileFormat.Auto)
Parameters
filePathstringThe path to the weights file.
formatWeightFileFormatThe format of the weights file. Default is Auto-detect.
Returns
- IInitializationStrategy<T>
An initialization strategy that loads weights from the specified file.
Remarks
Unlike the singleton strategies, this creates a new instance each time because it depends on the specific file path.