神奇的streamlit (哇 原来深度学习还可以这样玩)

简介: 神奇的streamlit (哇 原来深度学习还可以这样玩)

讲道理,我已经好久没有看到这么这么好玩的东西了哈哈,有时候好玩的东西或者是学习成果要快速展示出来,不是一件容易的事情。辛辛苦苦把核心算法实现了,还要做一个前端页面。不过今天试用了一下Python领域发展迅速的一个开源项目Streamlit,它能帮你不用懂得复杂的HTML,CSS等前端技术就能快速做出来一个炫酷的Web APP。(超级帅)


Streamlit 简介


Streamlit是一个基于Python的可视化工具,和其他可视化工具不同的是,它生成的是一个可交互的站点(页面)。但同时它又不是我们常接触的类似Django、Flask这样的WEB框架。


它有一个优点:


无需编写任何HTML、CSS或JS代码就可以生成界面不错的页面


streamlit是一个机器学习工程师专用的应用程序框架


Streamlit带来的改变


原先的数据展示页面开发流程:


  1. 在Jupyter中开发演示
  2. 将Python代码复制到文件
  3. 编写Flask应用,包括考虑HTTP请求、HTML代码、JS和回调等


87e056ca8da4587d2604ee8f3d607cb8.png


而当展示页面非常重要时,通常的流程是这样的:

  1. 收集用户需求
  2. 定义展示框架与原型
  3. 使用HTML、CSS、Python、React、Javascript等进行编码
  4. 一个月以后才能看到最终的页面



8689709712ffac53d1fe94cdb0f05652.png

Streamlit的流程:

稍微改下Python代码即可生成展示界面


c270f3c1ba7340e98204362b32a9ffc9.png


  而能够快速生成应用,主要原因是Streamlit兼容以下Python库或框架:


数据处理:Numpy、Pandas

机器学习框架或库:Scilit-Learn、TensorFlow、Keras、PyTorch

数据可视化工具:matplotlib、seaborn、poltly、boken、Altair、GL、Vega-Lite

文本处理:Markdown、LaTeX


Streamlit的简单应用


你是否还是为不懂深度学习而烦恼,你是否不知道不同的深度学习参数有什么区别,你是否还是思考什么优化器比较好,你是否不太知道激活函数和损失函数的选择which better,你是否还在思考要去哪里找代码并且去在编译器上跑出一个好丑的结果,那就快看Streamlit,他可能让本身你不懂机器学习的同学也能测试出很好的结果哦,体验深度学习的魅力。


我这里呢,也就是一个简单的用三层神经网络模型,对较为经典的MINST数据进行分类,我们可以在可视化模型,调整各个参数,然后就能在一个好看的页面上显示我们的结果,更加简便快捷的部署在我们的云端上。


首先,我们打开我们的命令行,在当前目录下输入,demo.py就是我们写好的python文件


streamlit run demo.py

然后我们就可以看到这个界面,接着我们可以从我们的本地端口local进行打开


77c372b6365348baaae2a1c257cb1c12.png


接着打开我们的localhost:8501,就会显示编写好的页面,我们可以看到这是一个3层的神经网络,我们利用手写数字数据集MINST来训练,从下图中我们可以看出,我们可以调整


  • 迭代次数 epoch
  • 每次处理的批次大小 batch size
  • 输出的类别 output classes
  • 隐藏层的节点数 hidden nodes
  • 优化器 optimizer
  • 激活函数 Activation
  • 损失函数 Loss function


9d6832ab83084eacaea2b14d274a248b.png

除此之外,我们还可以可视化我们的model,我们只需要在左侧勾选我们的复选框即可得到。

ed7019f80c374095b268f54d51df7ded.png


 然后我们设置好我们的参数,点击我们的Process就可以运行我们的结果了。



9f03523292764ecebde0f41435910db6.png

81ecad9d74b94a9a88affa6660f7cf29.png


是不是超级好玩,这样即使你不懂,也可以进行调参哦

Streamlit部署计算机视觉(图像分类和目标检测)


除此之外,还可以用已有的模型,部署到我们的网页上,这样我们一下子就能用了哦


这里给出结果看看


图像分类部署


我们可以直接上传我们的图片,然后就会在后端运行,将得到的结果返回


8acd5d1c9c64411a9d5193221b335430.png


目标检测


目标检测也是一样的

3231ce9d3a4544e4bfbedefacbbab0b7.png


看!!!是不是很好玩,我突然觉得我做的很多东西都有用武之地咯

每日一句

You never know how strong you are until being strong is your only choice.

你永远不知道自己有多强大,直到变强是你唯一的选择。

相关文章
|
存储 设计模式 前端开发
Streamlit应用中构建多页面(三):两种方案(上)
Streamlit应用中构建多页面(三):两种方案
4185 0
|
API Windows
怎么申请 bing api key
1:打开网址 https://login.live.com/ 注册帐号并登录(点击上图中的登录按钮即可),在新窗口点击下方的“立即注册”(有帐号的可以直接登录)2:填写相关信息(推荐使用hotmail邮箱),填写完毕后点击下方的 即可PS:国家或地区请勿选择‘中国’,否则会出现‘在你的市场中未提供...
20505 1
|
存储 缓存 数据可视化
(七)解析Streamlit的数据元素:探索st.dataframe、st.data_editor、st.column_config、st.table、st.metric和st.json的神奇之处(上)
(七)解析Streamlit的数据元素:探索st.dataframe、st.data_editor、st.column_config、st.table、st.metric和st.json的神奇之处
6691 0
|
11月前
|
关系型数据库 OLAP API
非“典型”向量数据库AnalyticDB PostgreSQL及RAG服务实践
本文介绍了非“典型”向量数据库AnalyticDB PostgreSQL及其RAG(检索增强生成)服务的实践应用。 AnalyticDB PostgreSQL不仅具备强大的数据分析能力,还支持向量查询、全文检索和结构化查询的融合,帮助企业高效构建和管理知识库。
619 19
|
SQL 存储 人工智能
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。
1666 7
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
|
数据可视化 前端开发 数据安全/隐私保护
Streamlit快速构建数据应用程序
【10月更文挑战第21天】Streamlit 是一个开源的 Python 库,用于快速构建数据应用程序。它简化了数据可视化的开发过程,允许用户通过简单的 Python 脚本创建交互式应用,而无需编写复杂的前端代码。本文介绍了 Streamlit 的基本概念、安装方法、示例应用的创建、扩展功能及部署方法,展示了其在 Python 可视化领域的潜力和优势。
|
机器学习/深度学习 前端开发 数据可视化
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
1251 0
|
决策智能 开发者
Multi-Agent实践第8期:轻松拖拽搭建多智能体应用
AgentScope Workstation令多智能体应用的搭建变得轻而易举,只需简单拖拽操作,每位用户都能快速打造出丰富多彩的应用。
|
数据可视化 前端开发 数据挖掘
数据分析可视化神器---streamlit框架,各种图表绘制,布局以及生产综合案例剖析
数据分析可视化神器---streamlit框架,各种图表绘制,布局以及生产综合案例剖析
2832 0
|
SQL 弹性计算 自然语言处理
AIGC-知识库-LLM:在云上从0开始搭建智能问答机器人Streamlit网页版
本文描述在阿里云上从0开始构建个人/企业专属,具备私域知识库+LLM智能问答能力的网页版聊天机器人。网页采用streamlit实现,知识库技术方案使用了Lindorm AI数据服务平台知识库能力,LLM使用了开源ChatGLM2-6B。 Streamlit使用起来非常简便,可以让开发者快速(短则几十分钟即可)搭建一个具备公网访问能力的网页。尤其在人工智能开发上,可使用Streamlit快速搭建应用环境,让开发人员将更多精力集中在人工智能本身,本文从0开始详细讲解整个应用的构建过程,代码实现了一个简洁的具备公网访问能力的网页版聊天机器人。
1511 1