torch.nn.is_uninitialized_parameter
function is_uninitialized_parameter(value: unknown): value is UninitializedParameterChecks if a value is an UninitializedParameter.
Returns true if the value is an instance of UninitializedParameter, which represents a parameter that has not yet been materialized with a concrete shape. Uninitialized parameters are used in lazy modules that defer parameter creation until the first forward pass when the input shape is known. Useful for:
- Type narrowing: Determine if a parameter is lazy or materialized
- Lazy module implementation: Check parameters during module initialization
- Debugging: Verify parameter initialization state
- Module construction: Conditional handling of lazy vs eager parameters
- Shape inference: Deferring parameter creation until input shape is known
- Type guard: Acts as TypeScript type guard with proper narrowing
- Instance check: Uses instanceof for runtime type checking
- Lazy initialization: Uninitialized parameters are part of lazy module pattern
- Shape deferred: Shape is unknown until materialization
Parameters
valueunknown- The value to check
Returns
value is UninitializedParameter– True if value is an UninitializedParameter instance, false otherwiseExamples
// Check if a value is an uninitialized parameter
const uninit_param = new torch.nn.UninitializedParameter({ dtype: 'float32' });
torch.nn.is_uninitialized_parameter(uninit_param); // true
// After materialization, it becomes a Parameter
const param = uninit_param.materialize([10, 20]);
torch.nn.is_uninitialized_parameter(param); // false// Type guard in module initialization
function initializeModule(params: unknown[]) {
for (const p of params) {
if (torch.nn.is_uninitialized_parameter(p)) {
// Handle uninitialized parameter
console.log('Found lazy parameter, will be materialized on first forward pass');
} else {
// Regular parameter
console.log('Parameter is already initialized');
}
}
}// Type narrowing for TypeScript
const values: unknown[] = [param1, uninit_param, buffer1];
const uninit_params = values.filter(torch.nn.is_uninitialized_parameter);
// TypeScript now knows uninit_params is UninitializedParameter[]See Also
- [PyTorch torch.nn.UninitializedParameter (type check)](https://pytorch.org/docs/stable/generated/torch.nn.UninitializedParameter .html)
- UninitializedParameter - The uninitialized parameter class
- is_uninitialized_buffer - Check for uninitialized buffers
- Parameter - Materialized parameter class