为机器学习程序创建前端程序(帮助)

Creating a frontend program for a machine learning program (help)

我最近接到一个项目,涉及创建一个连接到后端程序的前端应用程序。后端程序是一个机器学习代码,输入一些参数并输出一个图形。此机器学习代码是在 Python 中制作的。前端程序的目标是让用户通过网络输入他们的数据和 ML 代码工作所需的参数,然后将图形接收回前端,供用户保存为 GIF 或类似的东西。

我以前从未做过这个级别的任何事情,所以我一直在网上搜索答案。我得到的答案是前端将是 html 和一些 CSS 并将连接到一些 API 程序,该程序充当前端和后端程序之间的中间人.这是正确的方向吗?非常欢迎任何关于如何做这样的事情的参考资料或 YouTube 视频。

我还研究了从前端程序到 ML 代码的直接连接。 谢谢大家!

所以这是一个非常笼统的问题,因此很难回答。我会给你一个关于如何实现这一点的简短指示,请注意有很多方法,我会尽量给你最简单的方法。

我假设的应用程序要求:

  • 外观不重要,功能才是基础
  • 可以使用任何框架
  • 初学者应该可以做到这一点。 - 因此将避免使用 js 框架。

I've come to the answer that the front end will be html and some CSS and will connect to some API program that acts as the middle man between the front end and the backend programs.

是的,这在某种程度上是正确的,您很可能会在前端添加一些 JS,但这不是必需的,只要使用 HMTL、CSS 和 API 一切皆有可能。在前端,您将需要一个 <form>,它会将输入数据作为 post 请求提交给您的 API(服务器)。然后 API 将需要调用 ML script/program 并捕获生成的图像。然后您需要将图像保存在您的服务器上。到目前为止,前端仍在等待请求完成,所以您的服务器还没有返回任何东西!

旁注在实际项目中这会很糟糕,因为 ML 代码可能需要很长时间才能执行,并且等待请求被限制,您可能会遇到超时错误。

因此您的 API/server 接收图像并将图像保存到 public 文件夹中,该文件夹公开给网络,通常称为 statics 或 public。然后您可以将用户重定向到第二个 html 页面,然后您可以使用模板语言动态呈现该页面,例如Jinja2.

作为后端技术,我建议你使用一些不太固执己见的东西,因为那些通常需要更多的权重但更难学习。因此,看Flask搭建一个API。对于前端使用 https://getbootstrap.com/,因此您无需编写自己的 css。并作为模板语言使用 Jinja2。

为了让自己开始,我会推荐以下来源之一: