Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.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
tensorflow.python.data.ops.dataset_ops.DataSetv1适配器是如何工作的?_Python_Function_Csv_Tensorflow - Fatal编程技术网

tensorflow.python.data.ops.dataset_ops.DataSetv1适配器是如何工作的?

tensorflow.python.data.ops.dataset_ops.DataSetv1适配器是如何工作的?,python,function,csv,tensorflow,Python,Function,Csv,Tensorflow,我正试图用TensorFlow将我的头缠绕在ML和AI上。网站上有一个讨论.CSV数据处理的示例问题。CVS数据据说取自泰坦尼克号,基本上包含了分类和数字特征,这些特征将用于将乘客标记为死亡或活着 首先,如果有人知道或有任何资源或参考资料比上一篇文章更详细地讨论了该示例,请您向我介绍一下 第二,关于我更重要的问题。本例中使用了一种方法,在保持分类列不变的同时,将单个数字数据打包到单个数字键中 用于执行此操作的功能如下所示: class PackNumericFeatures(object):

我正试图用TensorFlow将我的头缠绕在ML和AI上。网站上有一个讨论.CSV数据处理的示例问题。CVS数据据说取自泰坦尼克号,基本上包含了分类和数字特征,这些特征将用于将乘客标记为死亡或活着

首先,如果有人知道或有任何资源或参考资料比上一篇文章更详细地讨论了该示例,请您向我介绍一下

第二,关于我更重要的问题。本例中使用了一种方法,在保持分类列不变的同时,将单个数字数据打包到单个数字键中

用于执行此操作的功能如下所示:

class PackNumericFeatures(object):
    def __init__(self, names):
        self.names = names

    def __call__(self, features, labels):
        numeric_freatures = [features.pop(name) for name in self.names]
        numeric_features = [tf.cast(feat, tf.float32) for feat in numeric_freatures]
        numeric_features = tf.stack(numeric_features, axis=-1)
        features['numeric'] = numeric_features

        return features, labels
上述函数的调用方式如下:


NUMERIC_FEATURES = ['age','n_siblings_spouses','parch', 'fare']

packed_train_data = raw_train_data.map(PackNumericFeatures(NUMERIC_FEATURES))

sex                 : [b'male' b'female' b'female' b'female' b'male']
class               : [b'Third' b'First' b'Third' b'First' b'Third']
deck                : [b'unknown' b'C' b'unknown' b'C' b'unknown']
embark_town         : [b'Southampton' b'Cherbourg' b'Southampton' b'Southampton' b'Queenstown']
alone               : [b'n' b'n' b'y' b'n' b'y']
numeric             : [[22.      1.      0.      7.25  ]
 [38.      1.      0.     71.2833]
 [26.      0.      0.      7.925 ]
 [35.      1.      0.     53.1   ]
 [28.      0.      0.      8.4583]]

show_batch(packed_train_data)

输出
压缩的列车数据
如下所示:


NUMERIC_FEATURES = ['age','n_siblings_spouses','parch', 'fare']

packed_train_data = raw_train_data.map(PackNumericFeatures(NUMERIC_FEATURES))

sex                 : [b'male' b'female' b'female' b'female' b'male']
class               : [b'Third' b'First' b'Third' b'First' b'Third']
deck                : [b'unknown' b'C' b'unknown' b'C' b'unknown']
embark_town         : [b'Southampton' b'Cherbourg' b'Southampton' b'Southampton' b'Queenstown']
alone               : [b'n' b'n' b'y' b'n' b'y']
numeric             : [[22.      1.      0.      7.25  ]
 [38.      1.      0.     71.2833]
 [26.      0.      0.      7.925 ]
 [35.      1.      0.     53.1   ]
 [28.      0.      0.      8.4583]]

show_batch(packed_train_data)

上述输出是通过将一批数据(即
打包的列车数据
)传递给函数而产生的:


def show_batch(dataset):
    for batch, head in dataset.take(1):
        for labels, value in batch.items():
            print("{:20s}: {}".format(labels, value.numpy()))
像这样:


NUMERIC_FEATURES = ['age','n_siblings_spouses','parch', 'fare']

packed_train_data = raw_train_data.map(PackNumericFeatures(NUMERIC_FEATURES))

sex                 : [b'male' b'female' b'female' b'female' b'male']
class               : [b'Third' b'First' b'Third' b'First' b'Third']
deck                : [b'unknown' b'C' b'unknown' b'C' b'unknown']
embark_town         : [b'Southampton' b'Cherbourg' b'Southampton' b'Southampton' b'Queenstown']
alone               : [b'n' b'n' b'y' b'n' b'y']
numeric             : [[22.      1.      0.      7.25  ]
 [38.      1.      0.     71.2833]
 [26.      0.      0.      7.925 ]
 [35.      1.      0.     53.1   ]
 [28.      0.      0.      8.4583]]

show_batch(packed_train_data)

我不理解的是
map
函数是如何生成该输出的。更一般地说,我不知道包含
map
函数的调用是如何与
PackNumericFeatures(object)
类交互的


我知道这个问题是具体的,但任何帮助都将不胜感激。干杯。

1)您应该链接您引用的网站,以便我们也可以查看。2) 你到底不明白什么?您是否尝试过在
\uuu call\uuuu
功能中打印“功能”和“标签”以了解正在发生的事情?谢谢Ian,我已经包括了您提到的网站。我打印了
\uuuu call\uuuu
的输出。打印
features
将提供一个有序字典,其中包含与所考虑的所有特征相对应的张量(即分类特征加上
NUMERIC\u特征
)。而标签只是一个张量。>打印功能提供了一个包含张量的有序字典,该张量对应于所考虑的所有功能(即分类功能加上数字功能)。而标签只是一个张量。你到底不明白什么?我想我已经找到我要找的了。我的误解在于
.map
函数的作用。
.map(f)
函数是类
数据集的一种方法。它的设计目的是接受一个函数并返回传递给它的函数所影响的新数据。@IanQuah您能解释一下
功能
标签
是如何在
\uu调用(self,features,labels)
中定义的吗?据我所知,它们应该作为已知参数传递(我对OOP不是很了解)。另外,我想知道是否有可能将这个类重写为函数?我非常感谢。