Exemplo n.º 1
0
                            max_voxel=max_sample_voxel,
                            comm=htfa_comm,
                            verbose=True)
                htfa.fit(train_data, R)

                for s in range(n_local_subj):
                    #get posterior for each subject
                    subj_idx = mapping[str(s)]
                    start_idx = s * htfa.prior_size
                    end_idx = (s + 1) * htfa.prior_size
                    local_posteiror = htfa.local_posterior_[start_idx:end_idx]
                    local_centers = htfa.get_centers(local_posteiror)
                    local_widths = htfa.get_widths(local_posteiror)

                    htfa.n_dim = n_dim
                    htfa.cov_vec_size = np.sum(np.arange(htfa.n_dim) + 1)
                    htfa.map_offset = htfa.get_map_offset()
                    #training happens on all voxels, but part of TRs
                    unique_R_all, inds_all = htfa.get_unique_R(R[s])
                    train_F = htfa.get_factors(unique_R_all, inds_all,
                                               local_centers, local_widths)

                    #calculate train_recon_err
                    tmp_train_recon_errs[subj_idx, p, idx] = get_train_err(
                        htfa, train_data[s], train_F)

                    #calculate weights on test_weight_data, test_recon_err on test_recon_data
                    tmp_test_recon_errs[subj_idx, p, idx] = get_test_err(
                        htfa, test_weight_data[s], test_recon_data[s],
                        test_weight_R[s], test_recon_R[s], local_centers,
                        local_widths)
Exemplo n.º 2
0
                        max_voxel=max_sample_voxel,
                        comm=htfa_comm,
                        verbose=True)
                htfa.fit(train_data, R)

                for s in range(n_local_subj):
                    #get posterior for each subject
                    subj_idx = mapping[str(s)]
                    start_idx = s * htfa.prior_size
                    end_idx = (s + 1) * htfa.prior_size
                    local_posteiror = htfa.local_posterior_[start_idx:end_idx]
                    local_centers = htfa.get_centers(local_posteiror)
                    local_widths = htfa.get_widths(local_posteiror)

                    htfa.n_dim = n_dim
                    htfa.cov_vec_size = np.sum(np.arange(htfa.n_dim) + 1)
                    htfa.map_offset = htfa.get_map_offset()
                    #training happens on all voxels, but part of TRs
                    unique_R_all, inds_all = htfa.get_unique_R(R[s])
                    train_F = htfa.get_factors(unique_R_all,
                                             inds_all,
                                             local_centers,
                                             local_widths)

                    #calculate train_recon_err
                    tmp_train_recon_errs[subj_idx, p,idx] = get_train_err(htfa,
                                                         train_data[s],
                                                         train_F)

                    #calculate weights on test_weight_data, test_recon_err on test_recon_data
                    tmp_test_recon_errs[subj_idx, p,idx] = get_test_err(htfa,