Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
G=None,
H=None,
Sigma=None):
"""
Initialize a Factor Analyser object to None or by reading from an HDF5 file.
When loading from a file, other parameters can be provided to overwrite each of the component.
:param input_file_name: name of the HDF5 file to read from, default is nNone
:param mean: the mean vector
:param F: between class matrix
:param G: within class matrix
:param H: MAP covariance matrix
:param Sigma: residual covariance matrix
"""
if input_file_name is not None:
fa = FactorAnalyser.read(input_file_name)
self.mean = fa.mean
self.F = fa.F
self.G = fa.G
self.H = fa.H
self.Sigma = fa.Sigma
else:
self.mean = None
self.F = None
self.G = None
self.H = None
self.Sigma = None
if mean is not None:
self.mean = mean
if F is not None:
self.F = F
def read(input_filename):
"""
Read a generic FactorAnalyser model from a HDF5 file
:param input_filename: the name of the file to read from
:return: a FactorAnalyser object
"""
fa = FactorAnalyser()
with h5py.File(input_filename, "r") as fh:
kind = fh.get("fa/kind").value
if kind[0] != 0:
fa.mean = fh.get("fa/mean").value
if kind[1] != 0:
fa.F = fh.get("fa/f").value
if kind[2] != 0:
fa.G = fh.get("fa/g").value
if kind[3] != 0:
fa.H = fh.get("fa/h").value
if kind[4] != 0:
fa.Sigma = fh.get("fa/sigma").value
return fa