I have created a class to sample a model via Pymc3.
I wanted to run loop for all the input observations I want to fit. However, even though each simulation runs individually without issues once I try a loop it fails on the second one with this error message:
Treating object: IZW18_A1
Traceback (most recent call last):
File "C:/Users/user/PycharmProjects/thesis_pipeline/article2_material/2_synthesizeSpectra.py", line 34, in <module>
specS = SpectraSynthesizer()
File "C:\Users\user\PycharmProjects\dazer\bin\lib\inferenceModel.py", line 60, in __init__
ModelIngredients.__init__(self)
File "C:\Users\user\PycharmProjects\dazer\bin\lib\specSynthesizer_tools.py", line 22, in __init__
EmissionComponents.__init__(self, self.config['temp_grid'], self.config['den_grid'])
File "C:\Users\user\PycharmProjects\dazer\bin\lib\Astro_Libraries\spectrum_fitting\gasEmission_functions.py", line 174, in __init__
EmissionEquations.__init__(self)
File "C:\Users\user\PycharmProjects\dazer\bin\lib\Astro_Libraries\spectrum_fitting\gasEmission_functions.py", line 127, in __init__
EmissionTensors.__init__(self)
File "C:\Users\user\PycharmProjects\dazer\bin\lib\Astro_Libraries\spectrum_fitting\tensor_tools.py", line 156, in __init__
outputs=self.emFlux_ttMethods['H1r'](emisRatio, cHbeta, flambda, abund, ftau, continuum),
File "C:\Users\user\PycharmProjects\dazer\bin\lib\Astro_Libraries\spectrum_fitting\tensor_tools.py", line 173, in H1_emisTensor
return tt.pow(10, emis_ratio - flambda * cHbeta) + continuum
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\tensor\var.py", line 155, in __mul__
return theano.tensor.mul(self, other)
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\op.py", line 639, in __call__
(i, ins, node, detailed_err_msg))
ValueError: Cannot compute test value: input 0 (flambda) of Op Elemwise{mul,no_inplace}(flambda, cHbeta) missing default value.
Backtrace when that variable is created:
File "C:/Users/user/PycharmProjects/thesis_pipeline/article2_material/2_synthesizeSpectra.py", line 34, in <module>
specS = SpectraSynthesizer()
File "C:\Users\user\PycharmProjects\dazer\bin\lib\inferenceModel.py", line 60, in __init__
ModelIngredients.__init__(self)
File "C:\Users\user\PycharmProjects\dazer\bin\lib\specSynthesizer_tools.py", line 22, in __init__
EmissionComponents.__init__(self, self.config['temp_grid'], self.config['den_grid'])
File "C:\Users\user\PycharmProjects\dazer\bin\lib\Astro_Libraries\spectrum_fitting\gasEmission_functions.py", line 174, in __init__
EmissionEquations.__init__(self)
File "C:\Users\user\PycharmProjects\dazer\bin\lib\Astro_Libraries\spectrum_fitting\gasEmission_functions.py", line 127, in __init__
EmissionTensors.__init__(self)
File "C:\Users\user\PycharmProjects\dazer\bin\lib\Astro_Libraries\spectrum_fitting\tensor_tools.py", line 152, in __init__
'ftau', 'continuum', 'O2_abund', 'O3_abund', 'Te_high')
I am creating a new object for each simulation but this is not cleaning the design from the previous one I guess.
I wonder if anyone could please advice me how to deal with this situation without running a new script each time.