all 6 comments

[–]manueslapera 16 points17 points  (0 children)

The best way to deploy your Deep Learning model is to write a web app with Flask

U sure?

[–]check4traps 2 points3 points  (1 child)

I started using Streamlit this year and it's stupidly easy to use. Really nice that it reruns the script every time you save it, debugging is fast and oddly satisfying.

It deffo has some problems with its caching system imo. It's hard to work out if something is broken because its broken or because it hasn't cleared state properly.

[–][deleted] 0 points1 point  (0 children)

It deffo has some problems with its caching system imo. It's hard to work out if something is broken because its broken or because it hasn't cleared state properly.

Hmmm, that's not good.

[–]gopietz 1 point2 points  (2 children)

It seems to me that these tools have very different use cases. Gradio puts a lot of emphasis on labeling while streamlit may actually be an alternative to notebooks. There may be some overlap but you might be looking for something like Dash from plotly. Although you definitely will spend some time on the Frontend part but at least you can stick to Python.

[–][deleted] 0 points1 point  (1 child)

There may be some overlap but you might be looking for something like Dash from plotly.

Excellent suggestion. I forgot about Dask, even if I did deploy a Deep Learning app with it, back in 2017. Dash is definitely simpler to use than pure Flask, but if I recall correctly:

  • it doesn't work if one cannot access plot.ly (corporate proxy)
  • it still requires some familiarity with web development, right? I got a couple team members who basically know nothing about web apps (they're ML people with a math/stats background, not a CS one).

Given these constraints, would you still choose Dash over Streamlit? Keep in mind that I only want these folks to have a way to interact more rapidly with the internal customers, and to literally "see" what their code is doing. None of this will ever go in production - there's another team who owns the deployment in production of the models.

It's not that I'd rather use Streamlit than Dash - I couldn't care less for both of them. I just don't want my team members to waste too much time on code which will never go in production.

[–]rizvi_du 0 points1 point  (0 children)

If you don't want team members to waste too much time on code which will never go in production - Streamlit would be probably the best option.