])
    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