TensorFlow(三)之多线程

本博文参考TensorFlow实战Google深度学习框架(郑泽宇,顾思宇),仅用作学习一、TFRecord输入数据格式TFRecord是tensorflow中存储数据的统一格式。可以统一不同的原始数据格式,并更加有效地管理不同的属性。TFRecord文件中的数据都是通过tf.train.Example Protocol Buffer的格式存储的。是一种可将图像的数据和标签放在一起的二进制
摘要由CSDN通过智能技术生成

本博文参考TensorFlow实战Google深度学习框架(郑泽宇,顾思宇),仅用作学习

一、TFRecord输入数据格式

TFRecord是tensorflow中存储数据的统一格式。可以统一不同的原始数据格式,并更加有效地管理不同的属性。TFRecord文件中的数据都是通过tf.train.Example Protocol Buffer的格式存储的。是一种可将图像的数据和标签放在一起的二进制文件,能节省内存,在TensorFlow中快速读取存储。

tf.train.Example的定义如下:

message Example{
    Features Features=1;
};

message Features{
    map<string,Feature> feature=1;
};

message Feature{
    oneof kind{
       ByteList bytes_list=1;
       FloatList float_list=2;
       Int64List int64_list=3;
    }
};

tf.train.Example中包含了一个从属性名称到取值的字典。属性名称为字符串,属性的取值可以为字符串(ByteList),实数列表(FloatList)或整数列表(Int64List)。

从文件中读取数据一般分为:把样本数据写入TFRecords二进制文件,再从队列中读取。

1、生成TFRecord文件

需要将数据填到tf.train.Example的协议缓存区(Protocol Buffer)中,将协议缓存区序列化为一个字符串,通过tf.python_io.TFRecordWriter写入TFRecord文件中。

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
import numpy as np

mnist=input_data.read_data_sets("/path/to/mnist/data",dtype=tf.unit8,one_hot=True)
#训练数据
image=mnist.train.images
#训练数据所对应的的正确答案,可以作为一个属性保存在TFRecorde中
labels=mnist.train.labels
#训练数据的图像分辨率,可以作为Example中的一个属性
pixels=image.shape[1]
num_examples=mnist.train.num_examples

#生成整数型的属性
def _int64_feature(value):
    return tf.train.Feature(int64_list=tf.train.Int64List(value=[value]))
#生成字符串型的属性
def _bytes_feature(value):
    return tf.train.Feature(bytes_list=tf.train.BytesList(value
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值