我已经通过反向传播对自己的前馈网络学习进行了编程(Java)。 我的网络经过培训以学习XOR问题。 我有一个输入矩阵4x2和目标4x1。 输入: 输出: 我有这个训练有素的网络,现在我想在新的输入上对其进行测试,例如: 但是,我不确定如何实现float pred ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我计划创建一个用于交易的神经网络,我正在研究如何在我的系统运行时使用的语言(即 C++ 或 C#)中使用经过训练的神经网络。
假设我在 python(或任何其他 nn 框架)中使用 tensorflow,我已经成功训练了具有 n 个隐藏层的神经网络。 那时我有权重和偏差的值。 此时我想在生产中使用 nn model。
据我了解,在生产 tensorflow 中运行 model 并不是最佳实践,因为它实际上太慢(python)而且很笨重(如果我错了,请纠正我)。
所以我想在 C# 或 C++ (或任何其他语言)中重新创建 nn model ,我是否需要在代码中重新创建每个神经元数学的所有基于权重和偏差的每一层?
问题:
像 tensorflow 这样的框架也应该在生产中使用。 Tensorflow 是用高度优化的 C++ 和/或 Cuda 编写的,因此很容易胜过您自己编写的任何内容。 tensorflow 还附带了大量用于监控、负载平衡等的内置工具。
如果你在你的机器上运行你的系统,你可以使用任何语言作为包装器。 If you really think you need a level of optimization for small tasks such as preprocessing etc. that can not be done in Python, just use the C++ API for tensorflow. 只需让 tensorflow(或 torch 或您正在使用的任何生产 lvl 框架)完成处理神经网络的繁重工作。 对于 99.99% 的任务,Python(使用 numpy、tf、dask 等)就可以了。
对于大型应用程序,您可以在 aws/azure/google 云等上托管 model。它们为托管 tensorflow 模型(例如,作为 REST 端点)提供优化服务。 Lambda 函数/Azure Functions 可以成为以经济高效且可扩展的方式执行预处理步骤的绝佳工具。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.