]) stim_side = np.array([ np.concatenate( (stim_sides_arr[k], np.zeros(max_len - len(stim_sides_arr[k])))) for k in range(len(stim_sides_arr)) ]) session_uuids = np.array(session_uuids) # Fit previous stimulus side model if 'stimside' in TARGET: model = exp_stimside( join(SAVE_PATH, 'Behavior', 'exp_smoothing_model_fits/'), session_uuids, subject, actions, stimuli, stim_side) elif 'prevaction' in TARGET: model = exp_prev_action( join(SAVE_PATH, 'Behavior', 'exp_smoothing_model_fits/'), session_uuids, subject, actions, stimuli, stim_side) model.load_or_train(nb_steps=2000, remove_old=REMOVE_OLD_FIT) params = model.get_parameters(parameter_type='posterior_mean') if 'prior' in TARGET: target = model.compute_signal(signal='prior', act=actions, stim=stimuli, side=stim_side, parameter_type='posterior_mean', verbose=False)['prior'] elif 'prederr' in TARGET: target = model.compute_signal( signal='prediction_error', act=actions,
# Load in data eid = decoding_result.loc[i, 'eid'] probe = decoding_result.loc[i, 'probe'] region = decoding_result.loc[i, 'region'] subject = decoding_result.loc[i, 'subject'] all_eids = np.sort( decoding_result.loc[decoding_result['subject'] == subject, 'eid'].unique()) print('Processing %d of %d (region %s)' % (i + 1, N_SESSIONS, region)) # Load in fitted behavioral model if TARGET == 'prior-prevaction': model = exp_prev_action( join(SAVE_PATH, 'Behavior', 'exp_smoothing_model_fits/'), all_eids, subject, np.array([np.array(None)] * all_eids.shape[0]), np.array([np.array(None)] * all_eids.shape[0]), np.array([np.array(None)] * all_eids.shape[0])) elif TARGET == 'prior-stimside': model = exp_stimside( join(SAVE_PATH, 'Behavior', 'exp_smoothing_model_fits/'), all_eids, subject, np.array([np.array(None)] * all_eids.shape[0]), np.array([np.array(None)] * all_eids.shape[0]), np.array([np.array(None)] * all_eids.shape[0])) try: model.load_or_train(nb_steps=2000, remove_old=False) except: continue params = model.get_parameters(parameter_type='posterior_mean') # Get priors per trial