Выполнение скрипта Python в C # или Unity - PullRequest
0 голосов
/ 13 сентября 2018

Я использовал Keras в Python для разработки нейронной сети, вычисляющей что-то вроде функции уменьшения шума. Пока это работает довольно хорошо, и теперь я хочу использовать эту сеть для очистки данных внутри моего Unity-Project.

Я бы не подумал, что это может быть так сложно. Я мог найти только один интерпретатор Python в хранилище ресурсов, которое не поддерживает внешние библиотеки Python. IronPython тоже не вариант, потому что мне нужно включить пакеты Keras. Я нашел проект KerasSharp на GitHub, но нет документации о том, как загрузить уже обученную сеть, и обучать его в начале не вариант. Более того, похоже, что над проектом больше никто не работает из-за истории коммитов и оставшихся без ответа вопросов. Доступ к сценарию через сетевые API, вероятно, также не является хорошим вариантом из-за задержки. Мне нужен расчет для каждого кадра.

Итак, мой вопрос: есть ли способ загрузить модель Keras / Tensorflow в C # или Unity

ИЛИ

Могу ли я как-нибудь получить доступ к скрипту python, который вычисляет функцию уменьшения шума с использованием модели Keras?

1 Ответ

0 голосов
/ 13 сентября 2018

Если ваша ситуация позволяет вам запускать скрипт python после Unity, вы можете попробовать запустить скрипт python как подпроцесс, как описано здесь:

http://answers.unity.com/answers/14156/view.html

Есливам не требуется, чтобы другой процесс выполнялся до Unity, вы можете запустить свой проект Unity через Process, а затем перенаправить stdin / out в потоки и обмениваться данными через них.

Пример:

Process otherProcess = new Process ();
otherProcess.StartInfo.FileName = path;
otherProcess.StartInfo.CreateNoWindow = true;
otherProcess.StartInfo.UseShellExecute = false;
otherProcess.StartInfo.RedirectStandardInput = true;
otherProcess.StartInfo.RedirectStandardOutput = true;

// Now communicate via streams
//     otherProcess.StandardOutput
// and
//     otherProcess.StandardInput

Также возможно, что захват запущенного процесса по имени или pid с последующей настройкой переадресации будет работать, но я не проверял это, и это кажется довольно сомнительным.

ЭтоПрограмма установки потребует, чтобы ваш скрипт на Python мог принимать данные из стандартного входа и выводить его результаты сверх стандартного выхода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...