본문 바로가기

머신러닝 읽어주는 남자

tf.data.dataset

반응형

파일 읽기

파일을 읽어와서 데이터셋 포멧으로 저장한다.

dataset = tf.data.TFRecordDataset(filenames = [fsns_test_file])

 

데이터 출력해보기

- 이를 이터레이터화하면 데이터를 하나씩 가져올 수 있다(출력은 이거텐서 형태)

next(iter(dataset))

- 이렇게 나온 결과는 바이트로 변환한후 읽을 수 있는 형태로 변환

parsed = tf.train.Example.FromString(raw_example.numpy())

 

- 불필요한 것들을 벗김

feature = parsed.features.feature

- 필요한 정보만을 쏙쏙 가져와서 이미지화 한다.

raw_img = feature['image/encoded'].bytes_list.value[0]

img = tf.image.decode_png(raw_img)

 

<파스된 결과 출력>

 

좀더 짧은 버전

 

def tf_parse(eg):

example = tf.io.parse_example(

eg[tf.newaxis], {

'image/encoded': tf.io.FixedLenFeature(shape=(), dtype=tf.string),

'image/text': tf.io.FixedLenFeature(shape=(), dtype=tf.string)

})

return example['image/encoded'][0], example['image/text'][0]

img, txt = tf_parse(raw_example)

반응형