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 + ib = [2019 + i, 2018+i]c = "測試"+str(i)c_raw = cprint 'i:',iprint ' a:',aprint ' b:',bprint ' c:',cexample = 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
總結
以上是生活随笔為你收集整理的tf.train.examle函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在c#.net通用权限管理系统组件里的
- 下一篇: SpringMVC学习系列(11) 之