2017-11-15 2 views
0

나는 다음과 같은 오류를 내 tensorflow 예측을위한 큐를 구현하지만 얻으려고 '에서'자리 텐서에 대한 값을 공급해야한다 dtype float and shape [1024,1024,3]tensorflow 오류 -와</p>가 <p>당신이 '에서'자리 텐서에 대한 값을 공급해야한다 - 당신은

feed_dict를 사용하면 프로그램이 제대로 작동합니다. feed_dict를 대기열로 대체하려고합니다.

프로그램은 기본적으로 위치 목록을 가져 와서 이미지 np 배열을 입력 텐서로 전달합니다.

for each in positions:   
    y,x = each   
    images = img[y:y+1024,x:x+1024,:] 
    a = images.astype('float32') 

q = tf.FIFOQueue(capacity=200,dtypes=dtypes) 
enqueue_op = q.enqueue(a) 
qr = tf.train.QueueRunner(q, [enqueue_op] * 1) 
tf.train.add_queue_runner(qr) 
data = q.dequeue() 
graph=load_graph('/home/graph/frozen_graph.pb') 


with tf.Session(graph=graph,config=tf.ConfigProto(log_device_placement=True)) as sess: 
    p_boxes = graph.get_tensor_by_name("cat:0") 
    p_confs = graph.get_tensor_by_name("sha:0")  
    y = [p_confs, p_boxes] 
    x = graph.get_tensor_by_name("in:0") 
    coord = tf.train.Coordinator() 
    threads = tf.train.start_queue_runners(coord=coord,sess=sess)    
    confs, boxes = sess.run(y) 
    coord.request_stop() 
    coord.join(threads) 

세션에서 그래프를 실행하는 동안 큐에 채워진 입력 데이터가 인식되는지 어떻게 확인할 수 있습니까? 내 원래의 실행에

은 내가

confs, 상자 = sess.run 전화 ([p_confs, p_boxes을, feed_dict = feed_dict_testing)

답변

0

나는이 문제에 대한 큐를 사용하지 않는 게 좋을 것, 및 스위칭 새로운 tf.data API로 변경되었습니다. 특히 tf.data.Dataset.from_generator()에서는 파이썬 함수의 데이터를 쉽게 전달할 수 있습니다. 다음과 같이, 훨씬 더 간단 할 코드를 다시 작성할 수 있습니다 : 프로그램에서 data 텐서 당신은 적어도 load_graph() (로드 그래프 사이에 연결이 없다는 것을

def generator(): 
    for y, x in positions: 
    images = img[y:y+1024,x:x+1024,:] 
    yield images.astype('float32') 

dataset = tf.data.Dataset.from_generator(
    generator, tf.float32, [1024, 1024, img.shape[3]]) 
# Add any extra transformations in here, like `dataset.batch()` or 
# `dataset.repeat()`. 
# ... 
iterator = dataset.make_one_shot_iterator() 
data = iterator.get_next() 

주, load_graph()하지 않는 것으로 가정 글로벌 상태에서 data 잡아라!). data을 고정 그래프의 텐서 중 하나 (예 : "in:0"?)와 연결하여 작업을 완료하려면 tf.import_graph_def()input_map 인수를 사용해야합니다.

+0

예 : 0은 입력 텐서이며 데이터를 'in : 0'과 연결해야합니다. – user1050619