簡體   English   中英

當調用sess.run()時,Tensorflow掛起

[英]Tensorflow hangs when sess.run() is called

以下代碼將掛起(只有CTRL z才可以使我退出)。

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()

我得到以下輸出(使用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

有人有任何建議(或解決方案)嗎?

如果有人對此背景感興趣,我的最終目標是將distorted_inputs()返回的張量轉換為一組JSON對象。 因此,幼稚的計划是遍歷圖像的每個元素並提取值。

我在這里找到了答案在Python中打印tensorflow張量將永遠掛起

關鍵是兩行:

coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess, coord=coord)

我在TF 1.7中遇到了這個問題,降級為1.3,它可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM