2017-02-21 7 views
1

convNet의 tr-60 %, test-20 %, validate-20 %에서 50k 이미지 데이터 세트를 사용하려고합니다. 다음과 같이 지금까지 내가 자리 표시 자 및 sess.run() @ 그것을 feed_dicting을 만들었습니다 -큰 데이터 세트를 Tensorflow 세션에로드/피드하기

tf_train_dataset = tf.placeholder(
    tf.float32, shape=(batch_size, image_size, image_size, num_channels)) 
...... 
... 
feed_dict = {tf_train_dataset : batch_data, tf_train_labels : batch_labels} 
    _, l, predictions = session.run(
     [optimizer, loss, train_prediction], feed_dict=feed_dict) 

하지만 공식 TF 성능 가이드에 따라 구현하는 가난한 방법은 다음과 같이 - link to TF guide

특별한 상황이나 예제 코드가 아니라면, 데이터를 파이썬 변수에서 세션으로 공급하지 마십시오. 사전.

# This will result in poor performance. 
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) 

당신은 TF에서 데이터를 읽기 위해 큐를 구현에 도움을 주시겠습니까? 그것이 최선의 방법 인 경우,

는 스트림 패션

에 데이터를로드하는 연산을 생성하지만 1) 확실하지 않다 - : 내가 찾은

한 가지 방법이다 2) 위 제안을 구현할 수 없으므로이 의사 코드를 만드는 데 도움을 줄 수 있습니까? 감사합니다.

답변

1

일반적으로 feed_dict를 사용하여 데이터를 피드하는 것은 좋지 않지만 데이터를 처리하기 위해 항상 op를 작성하지 않아도됩니다. 이미지 데이터를 tensorflow에서 인식 할 수있는 형식 (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/how_tos/reading_data/convert_to_records.py)으로 변환 할 수 있습니다. 이 프로세스는 병렬로 수행 할 수 있으며 tensorflow가 파일 목록을 소비 할 수 있으므로 파일 목록을 출력 할 수 있습니다.

다음 페이지에서 자습서를 따라 큐를 만들고 파이썬으로 데이터를 피드하십시오. https://www.tensorflow.org/programmers_guide/reading_data