2015-12-20 15 views
5

Tôi đang cố gắng tìm hiểu luồng mười bằng cách làm theo hướng dẫn Convolutional Neural Networks, nhưng khi tôi cố gắng tìm ra cách cifar10_input.py tải dữ liệu từ cifar-10-batches-bin, tôi gặp phải sự cố khi Tensor.eval() thực hiện trong một thời gian rất dài hoặc chạy vĩnh viễn mà không có kết quả. Mã này là như thế này:Session.run() /Tensor.eval() của Tensorflow chạy trong một thời gian dài

import tensorflow as tf 
from tensorflow.models.image.cifar10 import cifar10_input 

filenames = ['/Users/me/Downloads/cifar-10-batches-bin/data_batch_1.bin'] 
filename_queue = tf.train.string_input_producer(filenames) 
read_input = cifar10_input.read_cifar10(filename_queue) 
reshaped_image = tf.cast(read_input.uint8image, tf.float32) 

with tf.Session() as sess: 
    print reshaped_image.eval() 

Mã này về cơ bản là từ cifar10_input.py và file data_batch_1.bin được chiết xuất từ ​​cifar-10-binary.tar.gz

Thông thường, tôi có thể quan sát một tensor sử dụng phương pháp eval() của nó.. Nhưng trong trường hợp này nó chạy liên tục trong một thời gian dài hơn bao giờ hết. Tôi đã chờ gần một giờ và nó vẫn đang chạy). Có gì sai trong mã của tôi không?

Trả lời

6

1) Là một kiểm tra sanity cơ bản: ls -al /Users/me/Downloads/cifar-10-batches-bin/data_batch_1.bin

2) Đừng quên:

init = tf.initialize_all_variables() 
sess.run(init) 

3) tf.train.start_queue_runners() (sau khi tạo phiên của bạn)

Đây có thể là # 3. string_input_producer thêm nhân vật xếp hàng vào bộ sưu tập QUEUE_RUNNERS, cần phải bắt đầu.

+0

Cảm ơn rất nhiều, # 3 thực sự đã giải quyết được vấn đề của tôi, nhưng thực ra phương thức phải là 'tf.train.start_queue_all_variables()'. – hsc

+0

Rất tiếc, đúng - cảm ơn, đã chấp nhận bản cập nhật của bạn để sửa lỗi đánh máy. – dga

+0

Cảm ơn bạn rất nhiều! –

Các vấn đề liên quan