블로그 이미지
평범하게 살고 싶은 월급쟁이 기술적인 토론 환영합니다.같이 이야기 하고 싶으시면 부담 말고 연락주세요:이메일-bwcho75골뱅이지메일 닷컴. 조대협


Archive»


텐서플로우에서 이미지 데이타 처리 성능 향상방법


이미지 인식 모델을 만들다가 파일 포맷 성능 향상 관련해서 좋은 팁을 찾아서 메모


if you are working with >O(1000) JPEG images, keep in mind that it is extremely inefficient to individually ready 1000's of small files. This will slow down your training quite a bit.

A more robust and faster solution to convert a dataset of images to a sharded TFRecord of Example protos. Here is a fully worked script for converting the ImageNet data set to such a format. And here is a set of instructions for running a generic version of this preprocessing script on an arbitrary directory containing JPEG images.

http://stackoverflow.com/questions/37126108/how-to-read-data-into-tensorflow-batches-from-example-queue

1000개 이상의 JPEG나 PNG 이미지를 매번 읽어서 트레이닝을 시킬 경우, 트레이닝 성능이 낮아진다.

그래서 JPEG 포맷을 사용하지 말고 TFRecord 포맷을 사용하고, TFRecord 포맷에서 한 파일에 하나의 데이타를 넣지말고 여러 데이타를 넣는 방법을 사용해야 한다.


본인은 구글 클라우드의 직원이며, 이 블로그에 있는 모든 글은 회사와 관계 없는 개인의 의견임을 알립니다.

댓글을 달아 주세요

  1. 동환 2018.01.19 23:04  댓글주소  수정/삭제  댓글쓰기

    좋은글 감사합니다.

    이미지를 tensorflow로 input만 하는 경우에는
    def ImportImage(filename):
    with tf.device('/cpu:0'):
    img = tf.read_file(filename)
    image = tf.image.decode_jpeg(img, channels=3)

    with tf.Session() as sess:
    start = time.time()
    out = sess.run(image)
    print (time.time() - start)
    tf.reset_default_graph()
    return out
    그레프를 리셋시켜서 import속도가 늦어지는 것을 막을 수 있었습니다.

  2. 신입 2018.07.10 11:44  댓글주소  수정/삭제  댓글쓰기

    매번 잘보고 잘배우고 있습니다. 저또한 tfRecord로 사용하는중입니다. 감사합니다.