Пример #1
0
def compare_brains_in_regions(brain_regions, regions_to_voxels):
  for region_name, voxels in regions_to_voxels[i].items():
    if region_name in best_brain_regions:
      if region_name not in brain_regions:
        brain_regions[region_name] = []
      voxels = [v for v in voxels if v in brain_fs[i].get_selected_indexes()]
      brain_regions[region_name].append(brains[-1][:, voxels])

  for region_name in brain_regions:
    if min(map(len, brain_regions[region_name])) > 0:
      x_brain, C_brain = get_dists(brain_regions[region_name])
      klz_brain, labels_brain = compute_dist_of_dists(x_brain, C_brain, brain_labels)
      print(region_name, '\t', np.mean(klz_brain), '\t', np.std(klz_brain))
      plot(klz_brain, labels_brain)
Пример #2
0
    all_embeddings = []
    all_labels = []
    for key in embeddings.keys():
        all_embeddings += embeddings[key][1:]
        all_labels += labels[key][1:]

    #x, C = get_dists(brains + all_embeddings)
    #klz, prz, labels_ = compute_dist_of_dists(x, C, brain_labels + all_labels)
    #plot(prz, brain_regions_labels)
    #klz = np.asarray(klz)
    #print(klz.shape)

    #print(brain_regions_labels)

    import csv

    x, C = get_dists(all_embeddings)
    klz, prz, labels_ = compute_dist_of_dists(x, C, all_labels)
    with open('bert_com_sim_prz_' + '.csv', 'w') as f:
        writer = csv.writer(f)
        writer.writerow(all_labels)
        writer.writerows(prz)

    print(all_labels)
    plot(prz, all_labels)

    half = int(len(all_labels) / 2)
    for i in np.arange(half):
        print(all_labels[i].split("_")[-1],
              all_labels[i + half].split("_")[-1], prz[i][i + half])
Пример #3
0
    #x, C = get_dists(brains + all_embeddings)
    #klz, prz, labels_ = compute_dist_of_dists(x, C, brain_labels + all_labels)
    #plot(prz, brain_regions_labels)
    #klz = np.asarray(klz)
    #print(klz.shape)

    #print(brain_regions_labels)

    for context_size in np.arange(7):
        output = str(context_size) + ' '
        for key in embeddings:
            print(key, embeddings[key][context_size].shape)
            embedding_key = key + '_' + str(context_size)
            x, C = get_dists(brains + [embeddings[key][context_size]])
            klz, prz, labels_ = compute_dist_of_dists(
                x, C, brain_labels + [embedding_key])
            output += str(np.mean(prz[8, 0:8])) + ' '
        print(output)
    """
  x, C = get_dists(brain_regions)
  klz, prz, labels_ = compute_dist_of_dists(x, C, brain_regions_labels)

  region_sim_dic = {}
  for region in best_brain_regions:
    region_sim_dic[region] = []
    for i in np.arange(len(brain_regions_labels)):
      if brain_regions_labels[i].endswith(region):
        for j in np.arange(len(brain_regions_labels)):
          region_sim_dic[region].append(klz[i][j])

Пример #4
0
            open(os.path.join(hparams.emb_save_dir,
                              str(i) + '_Brain'), 'rb'))
        for b in blocks:
            brains[-1].extend(a['brain_activations'][b][11 + delay:-3])

        brains[-1] = np.asarray(brains[-1])
        brain_fs[i].fit(brains[-1])
        original_selected_voxels = brain_fs[i].get_selected_indexes()
        print(len(original_selected_voxels))
        brains[-1] = brains[-1][:, original_selected_voxels]
        brain_labels.append('brain_' + str(i))
        print(brains[-1].shape)

    print('avg brain shape:', )
    x, C = get_dists(brains + all_embeddings)
    klz, prz, labels_ = compute_dist_of_dists(x, C, brain_labels + all_labels)
    plot(prz, labels_)
    klz = np.asarray(klz)
    print(klz.shape)

    import csv

    with open('klz_' + str(delay) + '.csv', "w") as f:
        writer = csv.writer(f)
        writer.writerows(klz)

    with open('prz_' + str(delay) + '.csv', "w") as f:
        writer = csv.writer(f)
        writer.writerows(prz)
    #Get brain regions:
Пример #5
0
                labels[embedding_key].append(embedding_key + '_context_' +
                                             str(context_size))

    print("####################################")
    all_embeddings_per_context_length = {}
    all_labels_per_context_length = {}
    for context_size in np.arange(7):
        all_embeddings_per_context_length[context_size] = []
        all_labels_per_context_length[context_size] = []
        for key in embeddings.keys():
            all_embeddings_per_context_length[context_size] += [
                embeddings[key][context_size]
            ]
            all_labels_per_context_length[context_size] += [
                labels[key][context_size]
            ]

    import csv

    for context_size in np.arange(7):
        x, C = get_dists(all_embeddings_per_context_length[context_size])
        klz, prz, labels_ = compute_dist_of_dists(
            x, C, all_labels_per_context_length[context_size])
        print(context_size, ':', np.mean(prz))
        with open('com_sim_prz_' + str(context_size) + '.csv', 'w') as f:
            writer = csv.writer(f)
            writer.writerow(all_labels_per_context_length[context_size])
            writer.writerows(prz)

        plot(prz, all_labels_per_context_length[context_size])
Пример #6
0
    #print(klz.shape)

    #print(brain_regions_labels)

    print(brain_regions_labels)
    for context_size in np.arange(1):
        print('context_size:', context_size)
        for bi in np.arange(len(brain_regions_labels)):
            print(brain_regions_labels[bi])
            output = brain_regions_labels[bi][0] + ' '
            for key in embeddings:
                print(key, embeddings[key][context_size].shape)
                embedding_key = key + '_' + str(context_size)
                x, C = get_dists([brain_regions[bi]] +
                                 [embeddings[key][context_size]])
                klz, prz, labels_ = compute_dist_of_dists(
                    x, C, brain_regions_labels[bi] + [embedding_key])
                output += str(np.mean(prz[1, 0])) + ' '
            print(output)
    """
  x, C = get_dists(brain_regions)
  klz, prz, labels_ = compute_dist_of_dists(x, C, brain_regions_labels)

  region_sim_dic = {}
  for region in best_brain_regions:
    region_sim_dic[region] = []
    for i in np.arange(len(brain_regions_labels)):
      if brain_regions_labels[i].endswith(region):
        for j in np.arange(len(brain_regions_labels)):
          region_sim_dic[region].append(klz[i][j])

Пример #7
0
    selected_voxels = [v for v in original_selected_voxels if voxel_to_regions[i][v] in best_brain_regions]
    brains[-1] = brains[-1][:, selected_voxels]
    brain_labels.append('brain_' + str(i))
    print(brains[-1].shape)

  #x, C = get_dists(brains + all_embeddings)
  #klz, prz, labels_ = compute_dist_of_dists(x, C, brain_labels + all_labels)
  #plot(prz, brain_regions_labels)
  #klz = np.asarray(klz)
  #print(klz.shape)

  #print(brain_regions_labels)

  x, C = get_dists(brain_regions)
  klz, prz, labels_ = compute_dist_of_dists(x, C, brain_regions_labels)

  region_sim_dic = {}
  for region in best_brain_regions:
    region_sim_dic[region] = []
    for i in np.arange(len(brain_regions_labels)):
      if brain_regions_labels[i].endswith(region):
        for j in np.arange(len(brain_regions_labels)):
          region_sim_dic[region].append(klz[i][j])


  for key in region_sim_dic:
    print(key," ", np.mean(region_sim_dic[key]), len(region_sim_dic[key]))
  #import csv

    # with open('whole_selected_klz_'+str(delay)+'.csv', 'w') as f:
Пример #8
0
    normal_random_1000 = np.random.standard_normal(
        size=(all_embeddings[0].shape[0], 1000))

    randoms = [
        uniform_random_300, normal_random_300, uniform_random_100,
        normal_random_100, uniform_random_1000, normal_random_1000
    ]

    random_labels = [
        'uniform_random_300', 'normal_ransom_300', 'uniform_random_100',
        'normal_random_100', 'uniform_random_1000', 'normal_random_1000'
    ]

    print("brain shapes:", brain_regions[0].shape)
    x, C = get_dists(brain_regions + all_embeddings + randoms)
    klz, prz, labels_, p_vals = compute_dist_of_dists(
        x, C, brain_regions_labels + all_labels + random_labels)
    plot(prz, labels_)
    plot(p_vals, labels_)

    klz = np.asarray(klz)
    print(klz.shape)

    dic2save = {"klz": klz, "prz": prz, "labels_": labels_, "p_vals": p_vals}
    np.save(
        '_'.join(list(map(str, FLAGS.blocks))) +
        "rsa_results_all_brain_regions_" + str(delay) + "_" +
        selecting_feature, dic2save)

    x, C = get_dists(brains + all_embeddings + randoms)
    klz, prz, labels_, p_vals = compute_dist_of_dists(
        x, C, brain_labels + all_labels + random_labels)