pyFDN.Trainable#

class pyFDN.Trainable(feedback=True, input_gain=True, output_gain=True, direct=False)[source]#

Which of the FDN’s gain groups are trained. Delays are always fixed.

These are plain arrays, so the flag is named here; a filter hook is a module (AttenuationFilter, OutputEQ) and carries its own requires_grad.

A baked SOS bank taken from an FDNBuild is always frozen: nothing keeps raw biquad coefficients inside the unit circle, so a fit can push the loop gain past 1. Training one is a module you build on purpose (pyFDN.sos_filter_module()), not a flag.

__init__(feedback=True, input_gain=True, output_gain=True, direct=False)#

Methods

__init__([feedback, input_gain, ...])

Attributes

direct: bool = False#
feedback: bool = True#
input_gain: bool = True#
output_gain: bool = True#