Индексирование Tensorflow в список Python во время tf. while_loop

Вы хотите использовать Invoke или BeginInvoke для минимальной части работы, необходимой для изменения пользовательского интерфейса. Ваш «тяжелый» метод должен выполняться в другом потоке (например, через BackgroundWorker), но затем с помощью Control.Invoke / Control.BeginInvoke только для обновления пользовательского интерфейса. Таким образом, ваш поток пользовательского интерфейса будет свободно обрабатывать события пользовательского интерфейса и т. Д.

См. Мою статью для потоковой передачи для примера WinForms - хотя статья была написана ранее BackgroundWorker прибыл на место происшествия, и, боюсь, я не обновил его в этом отношении. BackgroundWorker немного упрощает обратный вызов.

1
задан user1371314 6 March 2019 в 12:39
поделиться

1 ответ

Соответствует ли это вашему требованию? Это ничего не делает, кроме печати значения.

import tensorflow as tf
from tensorflow.python.framework import tensor_shape

some_data = [11,222,33,4,5,6,7,8]

def func( v ):
    print (some_data[v])
    return some_data[v]

with tf.Session() as sess:
    r = tf.while_loop(
        lambda i, v: i < 4,
        lambda i, v: [i + 1, tf.py_func(func, [i], [tf.int32])[0]],
        [tf.constant(0), tf.constant(2, tf.int32)],
        [tensor_shape.unknown_shape(), tensor_shape.unknown_shape()])

    r[1].eval()

Он печатает

11 4 222 33

Порядок меняется каждый раз, но я думаю, что tf.control_dependencies может быть полезно для управления этим .

0
ответ дан Mohan Radhakrishnan 6 March 2019 в 12:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: