实现人脸识别性别之路---制作训练集中使用到的函数

Tf.python_io.TFRecordWrite(path:TFRcord文件路径):表示的是个类,它的作用是创建一个对象,这个对象负责将数据写入TFRecords文件中

 

Enumerate()参数、用法

用法:将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标

 

Tf.train.Int64List():参数、作用

参数:列表

作用:将每个列表中的元素改为int64

返回值:元素为int64的列表

 

Tf.train.Features(feature):参数、作用

作用:构建每个样本的信息键值对

Feature:字典数据,key为要保存的名字,value为tf.train.Feature的实例

Return:Features类型

 

Tf.train.Example():参数、作用、返回值

参数:能够成一个例子的所包含的东西,

作用:将图片数据转化为tfrecord的例子

 

调用数据集

Tf.train.string_input_producer():参数、意义

参数:文件夹地址、shuffle(当他的值为True的时候,表示在读取文件夹的文件的时候,会打乱读取的顺序)、equchs表示总的列表进去的列队的次数

意义:

出现的错误:ValueError: Shape () must have rank at least 1。这是因为传入的文件不对,传入的文件格式为:.tfrecord

 

Reader.read():参数、用法、返回值

参数:文件地址

返回值:返回文件名和文件。这里应该说是返回一个文件的一些信息

 

Tf.parse_single_example():参数、返回值、用法

参数:Reader.read()返回的文件、feartures以字典的形式赋值,img,label

返回值:img,label的字典

用法:可以通过调用字典的形式把把图像数字信息、图像对相应的名字提取出来

 

Tf.FixedLenFearture():参数,返回值,作用

参数:一个空的[]表示没有指定张量,张量里面数据的类型,如:tf.flaot32等

返回值:一个定长的张量。

Tf.decode_raw():参数、用法、意义

参数:read()函数读取到图片信息、类型参数

用法:将read()函数返回的图片的二进制数字信息进行解码

 

Tf.train.shuffle_batch():参数的取值、返回值、用法

参数:[图像的信息,与图像信息相匹配的标签]、batch_size每次取多少个值、放入队列的容量、小于放入队列的容量值

返回值:图像的信息、与图像信息相对应的标签他们的个数都是batch_size决定的

解释的例子:

tf.train.shuffle_batch是将队列中数据打乱后,再读取出来,因此队列中剩下的数据也是乱序的,队头也是一直在补充(我猜也是按顺序补充),
比如batch_size=5,capacity=10,min_after_dequeue=5,
初始是有序的0,1,..,9(10条记录),
然后打乱8,2,6,4,3,7,9,2,0,1(10条记录),
队尾取出5条,剩下7,9,2,0,1(5条记录),
然后又按顺序补充进来,变成7,9,2,0,1,10,11,12,13,14(10条记录),
再打乱13,10,2,7,0,12...1(10条记录),

再出队...

posted @ 2018-08-20 14:18  Myuniverse  阅读(323)  评论(0编辑  收藏  举报