Tensorfow里的Features(tf.train.Features)

Features是用于描述机器学习模型训练或推理的特征的协议消息,用键值对表示数据。
Feature有三种形式:
- bytes
- float
- int64
一个Features中包括可能包含零个或多个值的列表。 这些列表是基本值BytesList,FloatList,Int64List。Feature按名称分类。 Feature的消息包含从名称到功能的映射。
下面是一个电影推荐中的feature的例子

feature {
 key: "age"
 value { float_list {
   value: 29.0
 }}
 }
feature {
 key: "movie"
 value { bytes_list {
   value: "The Shawshank Redemption"
   value: "Fight Club"
 }}
  }
 feature {
 key: "movie_ratings"
 value { float_list {
   value: 9.0
   value: 9.7
 }}
 }
 feature {
 key: "suggestion"
 value { bytes_list {
   value: "Inception"
 }}
  }
feature {
 key: "suggestion_purchased"
 value { int64_list {
   value: 1
 }}
 }
feature {
 key: "purchase_price"
 value { float_list {
   value: 9.99
 }}
 }

来源
这里可以看到Features的源代码feature.proto不是用python写的,而是用了google内部使用的一种混合语言数据标准Google Protocol Buffer( 简称 Protobuf)。它是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化。方便文件的存储与网络传输,类似xml。Protobuf可以被转化成各种编程语言,比如python。

一个方便搜索的Tensorflow文档

你可能感兴趣的:(Tensorfow里的Features(tf.train.Features))