이 글에서는 주로 Tensorflow의 tf.train.batch 함수 사용법을 소개하고 있으며, 참고용으로 공유해 드립니다. 같이 구경하러 가세요
지난 이틀 동안 텐서플로우에서 데이터 읽기 큐를 살펴봤는데 솔직히 정말 이해하기 어렵습니다. 아마도 나는 처음에는 Theano를 사용했고 모든 것을 직접 작성해 본 적이 없었을 것입니다. 이틀 동안 서류와 관련 정보를 검토한 후 중국에 있는 후배들과도 상담을 했습니다. 오늘은 좀 기분이 좋네요. 간단히 말하면, 계산 그래프는 파이프라인에서 데이터를 읽어옵니다. 입력 파이프라인은 이미 만들어진 방법을 사용하며, 읽기도 마찬가지입니다. 여러 스레드를 사용할 때 파이프에서 데이터를 읽는 것이 지저분해지지 않도록 이때 읽을 때 스레드 관리 관련 작업이 필요합니다. 오늘은 주문한 데이터를 제공하고 주문되었는지 확인하는 간단한 작업을 수행했습니다. 순서대로 코드를 제공했습니다.
import tensorflow as tf import numpy as np def generate_data(): num = 25 label = np.asarray(range(0, num)) images = np.random.random([num, 5, 5, 3]) print('label size :{}, image size {}'.format(label.shape, images.shape)) return label, images def get_batch_data(): label, images = generate_data() images = tf.cast(images, tf.float32) label = tf.cast(label, tf.int32) input_queue = tf.train.slice_input_producer([images, label], shuffle=False) image_batch, label_batch = tf.train.batch(input_queue, batch_size=10, num_threads=1, capacity=64) return image_batch, label_batch image_batch, label_batch = get_batch_data() with tf.Session() as sess: coord = tf.train.Coordinator() threads = tf.train.start_queue_runners(sess, coord) i = 0 try: while not coord.should_stop(): image_batch_v, label_batch_v = sess.run([image_batch, label_batch]) i += 1 for j in range(10): print(image_batch_v.shape, label_batch_v[j]) except tf.errors.OutOfRangeError: print("done") finally: coord.request_stop() coord.join(threads)
slice_input_producer를 기억하세요. 방법, 기본값은 섞는 것입니다.
게다가 이 코드에 대해 설명하고 싶습니다.
1: 이 메서드가 지정된 에포크를 실행할 때 슬라이스_input_producer 메서드가 작동하는 에포크 수를 제어하는 'num_epochs' 매개변수가 있습니다. OutOfRangeRrror. 훈련 에포크를 제어하는 데 유용할 것 같습니다.
2: 이 방법의 출력은 하나의 단일 이미지이므로 정규화, 자르기 등과 같은 tensorflow API를 사용하여 이 단일 이미지를 작동할 수 있습니다. 그러면 이 단일 이미지는 배치 방식으로 피드되며, 훈련 또는 테스트용 이미지 배치가 수신됩니다. 예: label], 배치_크기=배치_크기, 용량=용량): [예: 레이블]은 샘플 및 샘플 레이블을 나타냅니다. 샘플이고 샘플 라벨인 배치_크기는 반환된 배치 샘플 세트의 샘플 수입니다. 용량은 대기열의 용량입니다. 이는 주로
위 함수 반환 값은 모두 일괄 처리의 샘플 및 샘플 레이블이지만 하나는 순서대로이고 다른 하나는 무작위입니다
Tensorflow의 Saver 사용
위 내용은 Tensorflow의 tf.train.batch 함수 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!