tf_recordファイルの作成(ビジュアルバージョン)

import os 
import tensorflow as tf 
from PIL import Image  #注意Image,后面会用到
import matplotlib.pyplot as plt 
import numpy as np


writer= tf.python_io.TFRecordWriter("cifar10_train.tfrecords")
writer_2 = tf.python_io.TFRecordWriter("cifar10_test.tfrecords")
root = '101_ObjectCategories'
class_num = []
path_all = []
i = 0
num_test = 0
num_train = 0
for dirpath, dirnames, filenames in os.walk(root):
    j = 0
    for filepath in filenames:
        img_path = os.path.join(dirpath, filepath)
        path_all.append(img_path)
        img=Image.open(img_path)
        img= img.resize((224,224))
        img =img.convert("RGB")
        img_raw=img.tobytes()
        example = tf.train.Example(features=tf.train.Features(feature={
             "label": tf.train.Feature(int64_list=tf.train.Int64List(value=[i])),
             'img_raw': tf.train.Feature(bytes_list=tf.train.BytesList(value=[img_raw]))
        }))
        if j%10==0 :
            writer_2.write(example.SerializeToString())
            num_test=num_test+1
        else:
            writer.write(example.SerializeToString())
            num_train = num_train+1
        j=j+1
    for dir_path in dirnames:
        class_num.append(dir_path)
    i=i+1
writer.close()

print(str(num_test)+'\n')
print(str(num_train))

with open('label.txt','w') as f:
    for i in range(len(class_num)):
        f.write(str(class_num[i])+'\n')

        フォルダの下にある分類されたサブフォルダ内の画像をtf_recordの形式に変換してから、ラベルtxtファイルを生成して、分類されたオブジェクトの特定のカテゴリのその後の分類を容易にします。

おすすめ

転載: blog.csdn.net/wi162yyxq/article/details/88131824