神奇的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应用中构建多页面(三):两种方案
4854 0
|
定位技术
Streamlit的第一个应用(二)(下)
Streamlit的第一个应用(二)
757 0
|
关系型数据库 MySQL 数据库
n8n自动化工具部署与使用
n8n是一款开源的工作流自动化工具,类似于IFTTT。它的优点是开源、可以自托管、下载安装方便、易于使用,可以互联上百种服务。n8n基于节点能够将任何工具连接在一起,轻松部署不同类型的任务。它可以做很多事情,比如:从数据库中获取数据后下载为excel然后通过邮件发送给其他人。
11465 1
|
数据可视化 前端开发 数据安全/隐私保护
Streamlit快速构建数据应用程序
【10月更文挑战第21天】Streamlit 是一个开源的 Python 库,用于快速构建数据应用程序。它简化了数据可视化的开发过程,允许用户通过简单的 Python 脚本创建交互式应用,而无需编写复杂的前端代码。本文介绍了 Streamlit 的基本概念、安装方法、示例应用的创建、扩展功能及部署方法,展示了其在 Python 可视化领域的潜力和优势。
|
11月前
|
存储 缓存 资源调度
# Qwen3-8B 与 ChatGPT-4o Mini 的 TTFT 性能对比与底层原理详解
Qwen3-8B 是通义实验室推出的80亿参数模型,支持32K上下文,采用FP8量化和CUDA优化,提升推理效率;ChatGPT-4o Mini 为OpenAI轻量模型,参数约3.8B,支持128K上下文,通过蒸馏技术实现低延迟。两者在TTFT、长文本处理和部署优化上各有优势,适用于不同应用场景。
1741 9
|
机器学习/深度学习 编解码 自然语言处理
SigLIP 2:多语言语义理解、定位和密集特征的视觉语言编码器
SigLIP 2 是一种改进的多语言视觉-语言编码器系列,通过字幕预训练、自监督学习和在线数据管理优化性能。它在零样本分类、图像-文本检索及视觉表示提取中表现卓越,支持多分辨率处理并保持图像纵横比。模型提供 ViT-B 至 g 四种规格,采用 WebLI 数据集训练,结合 Sigmoid 损失与自蒸馏等技术提升效果。实验表明,SigLIP 2 在密集预测、定位任务及多模态应用中显著优于前代和其他基线模型。
1696 9
SigLIP 2:多语言语义理解、定位和密集特征的视觉语言编码器
|
存储 关系型数据库 MySQL
PostgreSQL与MySQL优劣势比较浅谈
PostgreSQL与MySQL优劣势比较浅谈
3218 0
|
机器学习/深度学习 前端开发 数据可视化
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
2312 0
|
域名解析 存储 资源调度
Excalidraw——部署一个手绘风格的画图工具
Excalidraw——部署一个手绘风格的画图工具
938 3

热门文章

最新文章