TensorFlow C ++, проблема времени исполнения

Я создал модель с использованием Python TensorFlow. Теперь я загрузил модель на C ++ и запустил ее с помощью session-> Run (входные тензодатчики подачи). Код соблюден и хорошо связан, однако, как только он достигнет сеанса-> Выполнить в течение времени выполнения, он не будет продолжаться дальше, и он также не создает сообщение об ошибке! Похоже, он бежит вечно! Я также проверил использование ЦП, но он также не указывает на интенсивное вычисление!

Когда программа TensorFlow блокируется навсегда, одна из распространенных проблем заключается в том, что шаг блокируется в пустой очереди в q.dequeue() или q.dequeue_many() op.

Одна из возможностей заключается в том, что ваша модель Python зависит от предварительной выборки streamов (полученных из объектов tf.train.QueueRunner ). Многие входные данные (например, с использованием tf.TFRecordReader ) и tf.train.batch() например, с использованием tf.train.batch() ) конвейеры неявно создают очереди и очереди.

Если вам нужно было запустить tf.train.start_queue_runners() в вашей программе Python, вам нужно будет сделать эквивалентную вещь в своем коде на C ++, нарисуя streamи для запуска соответствующих q.enqueue() ops. В качестве альтернативы вы можете подготовить ввод в своей программе на C ++ и подать график таким образом, чтобы выполняемые вами операции не зависели от удаления объектов очереди.