Подключение Python + Tensorflow к эмулятору в переполнении стека

Я пытаюсь провести глубокое обучение на платформе GameBoy, аналогично тому, что Google DeepMind делал на платформе Atari (https://deepmind.com/research/dqn/). Для этой цели я нашел эмулятор GameBoy на C ++ и хочу научиться подкреплению, используя API-интерфейс Python TensorFlow. Система должна сделать по крайней мере следующее:

  • Отправьте текущий видеокадр из эмулятора в нейронную сеть (NN), созданную с использованием API TensorFlow
  • Используя NN, предскажите, какое действие должен выполнить агент (какую клавишу он должен нажать)
  • Отправить эту клавишу нажмите обратно в эмулятор
  • Верните из эмулятора новый игровой счёт
  • Retrain NN

У меня вопрос: как мне сделать эту связь между эмулятором, написанным на C ++, и битами, выполняющими обучение подкреплению с использованием Python плюс TensorFlow?

Пока что я рассмотрел следующие варианты:

1) Используйте C ++ TensorFlow API. Однако, насколько я понимаю, это может запускать только уже построенные графы, поэтому было бы довольно сложно построить граф на Python, а затем запустить его с помощью API C ++. Кроме того, документация по C ++ API не очень хороша.

2) Сделайте какой-нибудь конвейер ОС между частями C ++ и Python.

3) Вставить Python в C ++ следующим образом: https://docs.python.org/3.3/extending/embedding.html

Какой из них будет лучшим способом сделать это? Есть ли другие варианты, которые я не рассмотрел?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]