分割されたデータセットとlabelを読み込むと


まず、データの名前を統一する必要があります.つまり、データセットとlabelの接頭辞は同じです.次に、2つは異なるフォルダの下にあります.そうすれば、ファイルがvalidationであれば、アイデアを提出することができます.jpg、labelはvalidationです.pngは、ファイルの名前validationを直接切り取り、道路の力に応じて直接読み取り、パスが/data 0/data/fengeの場合validationが存在する.jpgファイル名は必ずvalidationが存在する.pngなので、違う経路を変えるだけでいいです.
もう1つのアイデアのコードは、ファイル名を並べ替えて、一致して読み取ることです.
import os
from PIL import Image
import tensorflow as tf
import re
import scipy.misc as misc
import numpy as np

IMAGE_SIZE = 224

train_path = r'/data0/data/fenge/Data_zoo/MIT_SceneParsing/ADEChallengeData2016/images/validation'
train_label_path=r'/data0/data/fenge/Data_zoo/MIT_SceneParsing/ADEChallengeData2016/annotations/validation_lable'

# validation_lable
# writer = tf.python_io.TFRecordWriter('fenge_test.tfrecords') #   tfrecord  

re_digits = re.compile(r'(\d+)')


def embedded_numbers(s):
    pieces = re_digits.split(s)  #         
    pieces[1::2] = map(int, pieces[1::2])  #          
    return pieces


def sort_strings_with_embedded_numbers(alist):
    return sorted(alist, key=embedded_numbers)

train_label = os.listdir(train_label_path)
train= os.listdir(train_path)

train_label = sort_strings_with_embedded_numbers(train_label)
train = sort_strings_with_embedded_numbers(train)

__channels = True

image = np.array()
image = misc.imread(train_label)

if __channels and len(image.shape) < 3:  # make sure images are of shape(h,w,3)
    image = np.array([image for i in range(3)])
else:
    resize_image = np.array(image)