我使用Python中的Keras设计了一个神经网络,计算类似于降噪函数的内容。到目前为止,它运行得很好,现在我想使用这个网络来清理我的一个中的数据。
我不认为这会如此困难。我只能在资产存储中找到一个python解释器,它不支持外部python库。IronPython也不是一个选项,因为我需要包含Keras包。我在KerasSharp上找到了一个GitHub项目,但是没有关于如何加载一个已经受过训练的网络的文档,而在一开始就对它进行培训不是一种选择。此外,由于提交历史和未回答的问题,似乎再也没有人在项目上工作了。由于延迟,通过网络API访问脚本也可能不是一个好的选择。我需要每一帧的计算。
因此,我的问题是:有什么方法可以在C#或Unity中加载Keras/Tensorflow模型?
或
我可以以某种方式访问python脚本,它使用Keras模型计算降噪函数吗?
发布于 2018-09-13 08:38:44
如果您的情况允许您在团结之后启动python脚本,您可以尝试将python脚本作为子进程启动,如下所述:
http://answers.unity.com/answers/14156/view.html
如果您不要求其他进程在Unity之前运行,您可以让您的Unity通过process启动该项目,然后将stdin/out重定向到流并通过这些流程进行通信。 示例: Process otherProcess =otherProcess ();otherProcess.StartInfo.FileName = path;otherProcess.StartInfo.CreateNoWindow = true;otherProcess.StartInfo.UseShellExecute = false;otherProcess.StartInfo.RedirectStandardInput = true;otherProcess.StartInfo.RedirectStandardOutput = true;//现在通过streams // otherProcess.StandardOutput //和// otherProcess.StandardInput进行通信 通过名称或pid获取正在运行的进程,然后设置转发也是可能的,但我还没有测试过,而且看起来确实很可疑。
此设置将要求您的python脚本能够接收标准in中的数据,并将其结果输出到标准输出。
https://stackoverflow.com/questions/52317007
复制相似问题