2016-06-03 2 views
-2

내가 tensorflow 내장 된 API를 GTSRB 데이터 집합을 읽을 수 (리더 API)와 GTSRB 데이터를 읽을어떻게 tensorflow 리더 API

누구든지 도와 드릴까요?

참고 : 나는 _parse_annotationsGerman Traffic Sign Recognition Benchmark

def _parse_annotations(prefix, gt_file, cut_roi): 
reader = csv.reader(gt_file, delimiter=';') 
reader.next() 

images = {'x': [], 'y': []} 
for row in reader: 
    # first column of csv file is filename 
    image = cv2.imread(prefix + row[0]) 
    # remove regions surrounding the actual traffic sign 
    if cut_roi: 
     image = image[np.int(row[4]):np.int(row[6]), np.int(row[3]):np.int(row[5]), :] 
    images['x'].append(image) 
    images['y'].append(row[7]) 

return images 
+0

당신이 이미 시도한 것을 보여주세요. – tektiv

답변

1

입니다

def load_gtsrb_data(path, cut_roi=True): 
images = {'x': [], 'y': []} 
for i in xrange(FLAGS.num_classes): 
    prefix = path + '/' + format(i, '05d') + '/' 
    with open(prefix + 'GT-' + format(i, '05d') + '.csv') as gt_file: 
     datadict = _parse_annotations(prefix, gt_file, cut_roi) 
     images['x'].extend(datadict['x']), images['y'].extend(datadict['y']) 

return images 

PPM의 ZIP 아카이브로 설정된 훈련 데이터를 분배 CSV와 **로 데이터 세트 읽었습니다 이미지는 클래스 당 하나의 디렉토리로 구성됩니다.

TensorFlow에는 PPM 형식의 파서가 포함되어 있지 않지만 JPEG 및 PNG 이미지를 읽을 수 있습니다. 가장 직접적인 방법은 GTSRB 이미지를 tf.Example 프로토콜 버퍼의 TFRecords 파일로 변환하는 것입니다. 시작 모델은이 형식으로 a script for converting ImageNet data과 함께 제공되며 이미지에 사용할 수 있습니다. 귀하의 경우, 훈련 데이터에는 세 가지 "기능"이 있습니다 : 이미지 데이터는 부동 소수점 값의 배열로, 이미지 모양은 정수 값 쌍으로, 레이블은 스칼라 정수로 사용됩니다. 이미지 데이터를 부동 소수점 값 (및 모양)의 배열로 가져 오려면 OpenCV (cv2.imread(filename))를 사용하여 각 PPM 파일을 구문 분석하고 NumPy 배열을 생성 할 수 있습니다.

관련 문제