ho una classe denominata Factor
nel modulo Factor.py
(https://github.com/pgmpy/pgmpy/blob/dev/pgmpy/factors/Factor.py) e hanno anche la funzione denominata factor_product
in Factor.py
come:strano comportamento della funzione isinstance
def factor_product(*args):
if not all(isinstance(phi, Factor) for phi in args):
raise TypeError("Input parameters must be factors")
return functools.reduce(lambda phi1, phi2: _bivar_factor_operation(phi1, phi2,
operation='M'), args)
Ora, se ho anche passare istanze di Factor
alla funzione, getta ancora TypeError
. Poche righe dal debugger con breakpoint impostato sopra l'istruzione if:
(Pdb) args
args = (<pgmpy.factors.Factor.Factor object at 0x7fed0faf76a0>, <pgmpy.factors.Factor.Factor object at 0x7fed0faf7da0>)
(Pdb) isinstance(args[0], Factor)
False
(Pdb) type(args[0])
<class 'pgmpy.factors.Factor.Factor'>
(Pdb) Factor
<class 'pgmpy.factors.Factor.Factor'>
Qualche idea del motivo?
indovinata: hai mai chiamato "ricarica"? – Eevee
@Eevee: Ah .. Stavo usando l'estensione 'reload' di ipython. Molte grazie. –