tf.train.examle函数

在自定义数据集中:

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()

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

时间: 2024-10-02 06:57:36

tf.train.examle函数的相关文章

tensorflow数据读取机制tf.train.slice_input_producer 和 tf.train.batch 函数

tensorflow中为了充分利用GPU,减少GPU等待数据的空闲时间,使用了两个线程分别执行数据读入和数据计算. 具体来说就是使用一个线程源源不断的将硬盘中的图片数据读入到一个内存队列中,另一个线程负责计算任务,所需数据直接从内存队列中获取. tf在内存队列之前,还设立了一个文件名队列,文件名队列存放的是参与训练的文件名,要训练 N个epoch,则文件名队列中就含有N个批次的所有文件名.而创建tf的文件名队列就需要使用到 tf.train.slice_input_producer 函数. tf

TensorFlow 中的 tf.train.exponential_decay() 指数衰减法

exponential_decay(learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None) 使用方式为 tf.train.exponential_decay( ) 在 Tensorflow 中,exponential_decay()是应用于学习率的指数衰减函数. 在训练模型时,通常建议随着训练的进行逐步降低学习率.该函数需要`global_step`值来计算衰减的学习速率. 该函数返回衰减后

机器学习与Tensorflow(7)——tf.train.Saver()、inception-v3的应用

1. tf.train.Saver() tf.train.Saver()是一个类,提供了变量.模型(也称图Graph)的保存和恢复模型方法. TensorFlow是通过构造Graph的方式进行深度学习,任何操作(如卷积.池化等)都需要operator,保存和恢复操作也不例外. 在tf.train.Saver()类初始化时,用于保存和恢复的save和restore operator会被加入Graph.所以,下列类初始化操作应在搭建Graph时完成. saver = tf.train.Saver()

TensorFlow 实战(二)—— tf train(优化算法)

Training | TensorFlow tf 下以大写字母开头的含义为名词的一般表示一个类(class) 1. 优化器(optimizer) 优化器的基类(Optimizer base class)主要实现了两个接口,一是计算损失函数的梯度,二是将梯度作用于变量.tf.train 主要提供了如下的优化函数: tf.train.Optimizer tf.train.GradientDescentOptimizer tf.train.AdadeltaOpzimizer Ada delta tf.

tensorflow API _ 3 (tf.train.polynomial_decay)

学习率的三种调整方式:固定的,指数的,多项式的 def _configure_learning_rate(num_samples_per_epoch, global_step): """Configures the learning rate. Args: num_samples_per_epoch: The number of samples in each epoch of training. global_step: The global_step tensor. Re

跟我学算法- tensorflow模型的保存与读取 tf.train.Saver()

save =  tf.train.Saver() 通过save. save() 实现数据的加载 通过save.restore() 实现数据的导出 第一步: 数据的载入 import tensorflow as tf #创建变量 v1 = tf.Variable(tf.random_normal([1, 2], name='v1')) v2 = tf.Variable(tf.random_normal([2, 3], name='v2')) #初始化变量 init_op = tf.global_v

图融合之加载子图:Tensorflow.contrib.slim与tf.train.Saver之坑

import tensorflow as tf import tensorflow.contrib.slim as slim import rawpy import numpy as np import tensorflow as tf import struct import glob import os from PIL import Image import time __sony__ = 0 __huawei__ = 1 __blackberry__ = 2 __stage_raw2ra

tf.train.string_input_producer()

处理从文件中读数据 官方说明 简单使用 示例中读取的是csv文件,如果要读tfrecord的文件,需要换成 tf.TFRecordReader import tensorflow as tf filename_queue = tf.train.string_input_producer(["file0.csv", "file1.csv"]) reader = tf.TextLineReader() key, value = reader.read(filename_

tensorflow-训练检查点tf.train.Saver

#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Created on Thu Sep 6 10:16:37 2018 @author: myhaspl @email:[email protected] """ import tensorflow as tf g1=tf.Graph() with g1.as_default(): with tf.name_scope("input_Va