tf.parse_example 用于 mnist 导出示例
tf.parse_example used in mnist export example
我是 tensorflow 的新手,正在阅读 mnist_export.py in tensorflow serving example。
这里有些地方我不明白:
sess = tf.InteractiveSession()
serialized_tf_example = tf.placeholder(tf.string, name='tf_example')
feature_configs = {
'x': tf.FixedLenFeature(shape=[784], dtype=tf.float32),
}
tf_example = tf.parse_example(serialized_tf_example, feature_configs)
x = tf.identity(tf_example['x'], name='x') # use tf.identity() to assign name
上面,serialized_tf_example是张量。
我已阅读 api 文档 tf.parse_example 但似乎 serialized
已序列化 Example
protos,如:
serialized = [
features
{ feature { key: "ft" value { float_list { value: [1.0, 2.0] } } } },
features
{ feature []},
features
{ feature { key: "ft" value { float_list { value: [3.0] } } }
]
那么如何理解这里的tf_example = tf.parse_example(serialized_tf_example, feature_configs)
,因为serialized_tf_example
是一个Tensor,而不是Example
proto?
这里serialized_tf_example
是一个tf.train.Example
的序列化字符串。请参阅 tf.parse_example for the usage. Reading data 一章给出了一些示例 link。
tf_example.SerializeToString() 将 tf.train.Example
转换为字符串,tf.parse_example 将序列化的字符串解析为字典。
下面提到的代码提供了使用 parse_example
的简单示例
import tensorflow as tf
sess = tf.InteractiveSession()
serialized_tf_example = tf.placeholder(tf.string, shape=[1], name='serialized_tf_example')
feature_configs = {'x': tf.FixedLenFeature(shape=[1], dtype=tf.float32)}
tf_example = tf.parse_example(serialized_tf_example, feature_configs)
feature_dict = {'x': tf.train.Feature(float_list=tf.train.FloatList(value=[25]))}
example = tf.train.Example(features=tf.train.Features(feature=feature_dict))
f = example.SerializeToString()
sess.run(tf_example,feed_dict={serialized_tf_example:[f]})
我是 tensorflow 的新手,正在阅读 mnist_export.py in tensorflow serving example。
这里有些地方我不明白:
sess = tf.InteractiveSession()
serialized_tf_example = tf.placeholder(tf.string, name='tf_example')
feature_configs = {
'x': tf.FixedLenFeature(shape=[784], dtype=tf.float32),
}
tf_example = tf.parse_example(serialized_tf_example, feature_configs)
x = tf.identity(tf_example['x'], name='x') # use tf.identity() to assign name
上面,serialized_tf_example是张量。
我已阅读 api 文档 tf.parse_example 但似乎 serialized
已序列化 Example
protos,如:
serialized = [
features
{ feature { key: "ft" value { float_list { value: [1.0, 2.0] } } } },
features
{ feature []},
features
{ feature { key: "ft" value { float_list { value: [3.0] } } }
]
那么如何理解这里的tf_example = tf.parse_example(serialized_tf_example, feature_configs)
,因为serialized_tf_example
是一个Tensor,而不是Example
proto?
这里serialized_tf_example
是一个tf.train.Example
的序列化字符串。请参阅 tf.parse_example for the usage. Reading data 一章给出了一些示例 link。
tf_example.SerializeToString() 将 tf.train.Example
转换为字符串,tf.parse_example 将序列化的字符串解析为字典。
下面提到的代码提供了使用 parse_example
的简单示例import tensorflow as tf
sess = tf.InteractiveSession()
serialized_tf_example = tf.placeholder(tf.string, shape=[1], name='serialized_tf_example')
feature_configs = {'x': tf.FixedLenFeature(shape=[1], dtype=tf.float32)}
tf_example = tf.parse_example(serialized_tf_example, feature_configs)
feature_dict = {'x': tf.train.Feature(float_list=tf.train.FloatList(value=[25]))}
example = tf.train.Example(features=tf.train.Features(feature=feature_dict))
f = example.SerializeToString()
sess.run(tf_example,feed_dict={serialized_tf_example:[f]})