Reputation: 71
The following code will hang (only a CTRLz gets me out).
import tensorflow as tf
import cifar10 # from https://github.com/tensorflow/models/tree/master/tutorials/image/cifar10 (both cifar10.py & cifar10_input.py)
def main():
print 'TensorFlow version: ',tf.__version__
with tf.Session() as sess:
with tf.device('/cpu:0'):
images, labels = cifar10.distorted_inputs()
input = tf.constant([[[1, 2, 3], [5, 5, 5]], [[4, 5, 6], [7, 7, 7]], [[7, 8, 9], [9, 9, 9]]])
one=input[0]
print "X1 ",type(input), one
oneval = sess.run(one)
print "X2 ",type(one), one, type(oneval), oneval
two=images[0]
print "Y1 ",type(images), two
twoval = sess.run(two)
print "Y2 ",type(two), two, type(twoval), twoval
main()
I get the following output (with Python 2.7.5):
[gpu@centos-7-4 demo]$ python demo.py
TensorFlow version: 1.2.1
2017-07-31 16:06:45.503157: W tensorflow/core/platform/cpu_feature_guard.cc:45] >The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-31 16:06:45.503182: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-31 16:06:45.503187: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
Filling queue with 20000 CIFAR images before starting to train. This will take a few minutes.
X1 class 'tensorflow.python.framework.ops.Tensor'> Tensor("strided_slice:0", shape=(2, 3), dtype=int32)
X2 class 'tensorflow.python.framework.ops.Tensor'> Tensor("strided_slice:0", shape=(2, 3), dtype=int32) <type 'numpy.ndarray'> [[1 2 3] [5 5 5]]
Y1 class 'tensorflow.python.framework.ops.Tensor'> Tensor("strided_slice_1:0", shape=(24, 24, 3), dtype=float32)
^Z
Anyone have any suggestions (or solutions)?
If anyone is interested in the background, my ultimate goal is to convert the tensor returned by distorted_inputs()
into a set of JSON objects. So the naive plan is to iterate through each element of images and pull out the values.
Upvotes: 1
Views: 5564
Reputation: 1
I had this issue with TF 1.7, downgraded to 1.3 and it works fine.
Upvotes: 0
Reputation: 71
I found the answer here Printing tensorflow tensor in Python hangs forever
Key was the two lines:
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess, coord=coord)
Upvotes: 6