码迷,mamicode.com
首页 > 其他好文 > 详细

tf.train.examle函数

时间:2019-06-13 15:26:07      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:value   list   writer   range   one   tostring   不同   raw   sage   

在自定义数据集中:

example = tf.train.Example(features=tf.train.Features(feature={
                ‘img_raw‘: tf.train.Feature(bytes_list=tf.train.BytesList(value=[img_raw])),
                ‘label‘: tf.train.Feature(int64_list=tf.train.Int64List(value=labels))
                })) 
下面简要谈一谈我对其的理解
创建 Example 对象,并且将 Feature(img_raw,label) 一一对应填充进去。并保存到writer中。
tf.train.Example的定义如下:
message Example {
 Features features = 1;
};
 
message Features{
 map<string,Feature> featrue = 1;
};
 
message Feature{
    oneof kind{
        BytesList bytes_list = 1;
        FloatList float_list = 2;
        Int64List int64_list = 3;
    }
};

从上述代码可以看出,tf.train.Example中包含了属性名称到取值的字典,其中属性名称为字符串,属性的取值可以为字符串(BytesList)、实数列表(FloatList)或者整数列表(Int64List)。

一般tf.train.Int64List tf.train.FloatList对应处理整数和浮点数,tf.train.BytesList用于处理字符串的数据。

从上面可以看出一个 Example 消息体包含了一系列的 feature 属性。

每一个 feature 是一个 map,也就是 key-value 的键值对。

key 取值是 String 类型。

            而 value 是 Feature 类型的消息体,它的取值有 3 种:

                     BytesList
                     FloatList
                     Int64List
需要注意的是,他们都是列表的形式。

举例说明:

1.构建writer,用于写入数据

2.创建 Example 对象,并且将 Feature(a,b,c) 一一对应填充进去。a,b,c三个不同格式的列表并保存到writer中

3.# 将 example 序列化成 string 类型,然后写入。即 writer.write(example.SerializeToString());

或者

serialized = example.SerializeToString()
    writer.write(serialized)
# -*- coding: utf-8 -*-
import tensorflow as tf
import numpy
writer = tf.python_io.TFRecordWriter(test1.tfrecord)
for i in range(0, 2):
    a = 0.520 + i
    b = [2019 + i, 2018+i]
    c = "测试"+str(i)
    c_raw = c
    print i:,i
    print   a:,a
    print   b:,b
    print   c:,c
    example = tf.train.Example(
        features = tf.train.Features(
            feature = {a:tf.train.Feature(float_list = tf.train.FloatList(value=[a])),
                       b:tf.train.Feature(int64_list = tf.train.Int64List(value = b)),
                       c:tf.train.Feature(bytes_list = tf.train.BytesList(value = [c_raw]))}))
    serialized = example.SerializeToString()
    writer.write(serialized)
    print    writer,i,DOWN!
writer.close()

 

技术图片

 

tf.train.examle函数

标签:value   list   writer   range   one   tostring   不同   raw   sage   

原文地址:https://www.cnblogs.com/fcfc940503/p/11016619.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!