-
텐서플로우 큐라는게 있는데 (내가이걸 정리했었는지 스쳐지나가듯이 읽었는지 기억이안난다)
피딩을 하기위해선 데이터를 전부읽어와서 넣어줘야하는 방식인데
이때 파일을 읽어가면서 처리 하기위해서 텐서큐를 이용하는 것이다!
이때 큐에 데이터를 넣는것을 queue Runner 라는것이 하고
enqueue_opration이 큐러너가 어떤 데이터를 어떻게 넣을지 정의하고
queue runner가 멀티스레드인데 이 스레드를 Coordinator가 관리해준다.
코드로 알아본다면 아래와같다.
import tensorflow as tf q=tf.FIFOQueue(10,"float") #큐의길이와 데이터타입 정의 e_ops=q.enqueue_many(([1.0,2.0,3.0],)) qr=tf.train.QueueRunner(q,[e_ops,e_ops,e_ops]) #멀티스레딩을 위해 3개를 지정한것이다. [e_ops]*쓰레드수도 가능 sess=tf.Session() coord=tf.train.Coorinator() threads=qr.create_threads(sess,coord=coord,start=True) coord.request_stop() #큐러너의 쓰레드들을 모두 정지시킨다 coord.join(Threads) sess.close()
출처url
'2017년 > machine learning' 카테고리의 다른 글
머신런닝에관해 좋은글 (0) 2017.08.21 텐서플로우 선형회귀에 대해 알아보자 (0) 2017.08.16 tensorflow csv file 불러오기 (0) 2017.08.07 머신런닝 기초 (0) 2017.06.27 선형 회귀 분석 (0) 2017.06.23