如何使用tf.string在pandas数据框中选择行?

时间:2019-12-19 18:46:57

标签: python tensorflow tensor tensorflow-datasets keyerror

我需要使用dataframe索引来选择特定的行。我想使用df.loc['tensor']选择一行,以便可以将该行转换为张量并将其馈送到我的神经网络。

我用来索引的张量与图像输入相关联,因此我需要在df中选择右行以将其与相应的图像一起馈送到网络。由于张量是字节,并且我知道我不能直接使用它来索引dataframe。因此,我尝试首先转换为字符串,但这不起作用。我收到错误消息:

KeyError: 'Tensor("split_2:0", shape=(32,), dtype=string, device=/device:CPU:0)'

拆分塔的图像和标签。

images_splits = tf.split(axis=0, num_or_size_splits=FLAGS.num_gpus, value=images)
labels_splits = tf.split(axis=0, num_or_size_splits=FLAGS.num_gpus, value=labels)
fname_splits = tf.split(axis=0, num_or_size_splits=FLAGS.num_gpus, value=filenames)

data_tab = []
    if FLAGS.num_gpus > 1:

      for i in range(FLAGS.num_gpus):
        tabs = []
        for f in fname_splits[i]:
          tabs.append(tabular.loc[str(f)].values)
        data_tab.append(tabs)

    else:
      tabs = []
      for f in fname_splits:
        tabs.append(tabular.loc[str(f)].values)
      data_tab.append(tabs)
    tab_tensors = []
    for f in data_tab:
      tab_tensors.appen(tf.convert_to_tensor(f))

0 个答案:

没有答案