# initialize generative agent genAgent = GenerativeAgent(params_gen, stimuli) # initialize psi object psi = PSI_RiF(params, stimuli) # number of iterations of the experiment iterations_num = 500 # initialize plotter and plot generative distribution, generative weights and the negative log likelihood plotter = Plotter(params, params_gen, stimuli, genAgent, psi, iterations_num) plotter.plotGenProbTable() plotter.plotGenVariances() plotter.plotGenWeights() plotter.plotGenPSE() plotter.plotNegLogLikelihood(responses_num=500) plotter.plot() for stim_selection in ['adaptive', 'random']: # set stimulus selection mode and reset psi object to initial values psi.reset(stim_selection) # reset plotter to plot new figures plotter.reset() # run model for given number of iterations print 'inferring model ' + stim_selection + 'ly' for _ in trange(iterations_num): # get stimulus from psi object rod, frame = psi.stim
genAgent = GenerativeAgent(params_gen, stimuli) # number of iterations of the experiment iterations_num = 100 # initialize psi object # M: Add iterations for prior tracker psi = PSI_RiF(params, stimuli, iterations_num) # initialize plotter and plot generative distribution, generative weights and the negative log likelihood plotter = Plotter(params, params_gen, stimuli, genAgent, psi, iterations_num) plotter.plotGenProbTable() plotter.plotGenVariances() plotter.plotGenWeights() plotter.plotGenPSE() plotter.plotNegLogLikelihood(responses_num=500) plotter.plot() # M: Normal adaptive use 'adaptive' # M: Product entropy use 'adaptive2' # M: Backward induction use 'backward' # for stim_selection in [ 'adaptive', 'adaptive2', 'backward']: for stim_selection in ['adaptive2', 'backward']: # set stimulus selection mode and reset psi object to initial values psi.reset(stim_selection) # reset plotter to plot new figures plotter.reset() # run model for given number of iterations