python - Issues with implementing TensorFlow's MNIST example without feed_dict using a queue -


i came across tensorflow's deep mnist experts , wanted adapt more efficient use on gpus. since feed_dict seems incredibly slow, implemented input pipeline using tf.train.shuffle_batch , fifoqueue feed data model.

here's gist stock implementation of tensorflow guide , here's gist attempt @ optimized implementation.

now in example on tensorflow page, accuracy pretty approaches 1 after few thousand iterations. in code, aside queue implementation same model, accuracy seems oscillate between ~0.05 , ~0.15. further, loss reaches 2.3 after couple hundred iterations , doesn't decrease farther that.

another noteworthy point: when make comparison original batch created , batch used in subsequent iterations, appear equivalent. perhaps issue lies in queuing/dequeuing i'm not sure how fix it. if sees issues implementation pointers appreciated!

found solution. turns out tf.train.shuffle_batch implicitly implements randomshufflequeue. loading results of tf.train.shuffle_batch fifoqueue presumably caused fifoqueue not update input batch, while labels being updated because weren't being passed fifoqueue. removing fifoqueue entirely solved issue.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -