Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获取tf.data.Dataset的特征和张量字典?_Python_Tensorflow_Tensorflow Datasets - Fatal编程技术网

Python 如何获取tf.data.Dataset的特征和张量字典?

Python 如何获取tf.data.Dataset的特征和张量字典?,python,tensorflow,tensorflow-datasets,Python,Tensorflow,Tensorflow Datasets,给定以下数据集: import pandas as pd import tensorflow as tf df = pd.DataFrame({ 'feat_binomial': [5, 1, 7, 4, 6], 'feat_normal': [5.001512, 5.346654, -0.480363,4.821558,-2.080958], 'feat_ordinal': ['low', 'low', 'low','low','low'], 'feat_st

给定以下数据集:

import pandas as pd
import tensorflow as tf

df = pd.DataFrame({
    'feat_binomial': [5, 1, 7, 4, 6],
    'feat_normal': [5.001512, 5.346654, -0.480363,4.821558,-2.080958],
    'feat_ordinal': ['low', 'low', 'low','low','low'],
    'feat_string': ['a', 'b', 'b','b','b'],
})

dataset = tf.data.Dataset.from_tensor_slices(dict(df))
我想得到特征和张量的字典,在将
map
函数应用于数据集时,其中一个会有它。在这里可以看到打印的内容:

def print_input_dict(input_dict):
    features_tensors = dict(input_dict)
    print(features_tensors)
    return features_tensors

dataset.map(print_input_dict)
所以它被存储在一个全局变量中,我以后可以访问它,但这并不是正确的方法。这本词典还有别的办法吗


谢谢

您可以尝试使用迭代器

iterator=dataset.make_one_shot_iterator()
feature_dict=iterator.get_next()#返回特征字典

您可以尝试使用迭代器

iterator=dataset.make_one_shot_iterator()
feature_dict=iterator.get_next()#返回特征字典
{'feat_binomial': <tf.Tensor 'args_0:0' shape=() dtype=int32>,
 'feat_normal': <tf.Tensor 'args_1:0' shape=() dtype=float64>,
 'feat_ordinal': <tf.Tensor 'args_2:0' shape=() dtype=string>,
 'feat_string': <tf.Tensor 'args_3:0' shape=() dtype=string>}
def _extract_labels(input_dict):
    global features_tensors
    features_tensors = dict(input_dict)
    return features_tensors

dataset.map(print_input_dict)