千家信息网

如何安装streamlit框架

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"如何安装streamlit框架",在日常操作中,相信很多人在如何安装streamlit框架问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何安装str
千家信息网最后更新 2026年11月01日如何安装streamlit框架

这篇文章主要介绍"如何安装streamlit框架",在日常操作中,相信很多人在如何安装streamlit框架问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何安装streamlit框架"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

框架安装

streamlit框架的安装非常简单,使用pip就可以安装:

pip install streamlit

安装完成之后,可以使用命令进行版本验证:

streamlit --version

在这篇文章当中,我会用一个实际工作中的例子简单介绍streamlit框架的使用流程。

项目准备

Collaborative-Distillation是一个支持高分辨率的图像风格化方案,该模型的输入是风格图片以及待处理的图片,输出是风格化之后的图片。

在这个代码仓库当中,我们需要使用比较复杂的命令行命令来进行风格化操作:

# use original VGG-19, normal imagesCUDA_VISIBLE_DEVICES=0 python WCT.py --debug --mode original# use original VGG-19, ultra-res imagesCUDA_VISIBLE_DEVICES=0 python WCT.py --debug --mode original --UHD# use our pruned VGG-19, normal imagesCUDA_VISIBLE_DEVICES=0 python WCT.py --debug --mode 16x# use our pruned VGG-19, ultra-res imagesCUDA_VISIBLE_DEVICES=0 python WCT.py --debug --mode 16x --UHD# If your RAM cannot afford some large images, you can change the content and style size via '--content_size' and '--style_size'CUDA_VISIBLE_DEVICES=0 python WCT.py --debug --mode 16x --UHD --content_size 3000 --style_size 2000

但是这样的操作对于用户来说相当复杂,所以我们可以使用streamlit编写一个demo页面,方便用户使用。

在这个demo页面当中,会用到streamlit的以下几种组件:

  • streamlit.file_uploader:文件上传组件,具体见下图

    该组件支持拖拽上传文件和文件管理器选择文件,相对来说比较方便,使用方法如下列代码所示:

    style_file = st.file_uploader("请上传风格化图片")if style_file:    stringio = style_file.getvalue()    style_file_path = 'style_file/'+ style_file.name    with open(style_file_path,'wb') as f:        f.write(stringio)


    使用文件上传组件上传文件之后,可以使用上面的代码将文件保存到特定路径等待使用。

  • streamlit.image:图片显示组件,具体见下图:

    该组件可以在demo页面中根据图片路径显示图片。

    style_file_path = 'style_file/'+ style_file.namest.image(style_file_path)


  • streamlit.write:文字显示组件,该组件可以在网页上显示一些提示信息。

    st.write('高分辨率风格化demo')


  • streamlit.button:按钮组件,点击之后可以进行一些任务。

    if st.button('开始进行风格化处理'):        style_func()


  • streamlit.progress:进度显示组件,可以用来显示任务的进度。

    for i in range(0,100,10):        st.progress(i + 1)


streamlit中还有一些重要的组件,例如:

  • streamlit.cache:数据缓存组件,该组件可以作为装饰器使用,用处是缓存数据,加快数据载入速度。可以用在需要反复加载数据或者进行计算的函数当中。

    @st.cachedef load_dataset(data_link):    dataset = pd.read_csv(data_link)    return dataset


  • streamlit.audio:音频展示组件,可以根据音频地址播放音频。

with open('audio.mp3','rb') as f:        st.audio(f,format="audio/mp3")
  • streamlit.audio:选择组件,该组件可以让用户从多个选项中选择一项。

model_choose = st.radio('请选择分离模型:',['人声+伴奏','人声+钢琴+吉他+鼓+其他'],0)

其中参数0表示默认选择第一项。

streamlit支持的组件还是很多的,如果感兴趣,请参考官方文档。

项目编写

这个demo页面的主要功能是让用户分别上传style图片和content图片,然后后台进行风格化操作,风格化操作完成之后显示结果图片。这样用户就可以快速的进行风格化操作并知道结果。

streamlit应用是用python语言编写的。在python文件开头,需要导入streamlit包。

import streamlit as st

接着进行文件的上传与预处理:

style_file = st.file_uploader("请上传风格化图片")content_file = st.file_uploader("请上传待处理图片")image_slot = st.empty()if style_file:    stringio = style_file.getvalue()    style_file_path = 'style_file/'+ style_file.name    with open(style_file_path,'wb') as f:        f.write(stringio)    image_slot.image(style_file_path)if content_file:    stringio = content_file.getvalue()    content_file_path = 'content_file/'+ content_file.name    with open(content_file_path,'wb') as f:        f.write(stringio)if content_file and style_file:    img1 = Image.open( style_file_path)    img1 = img1.resize((640, 640))    img2 = Image.open( content_file_path)    img2 = img2.resize((640, 640))    new_img = Image.new('RGB', (1280, 640), 255)    new_img.paste(img1,(0,0))    new_img.paste(img2,(640,0))    new_img.save('concrate_file/' + os.path.basename(style_file_path))    image_slot.image('concrate_file/' + os.path.basename(style_file_path))

最后写一个按钮,执行风格化操作,并显示最终结果,同时添加一个进度条:

if st.button('开始进行风格化处理'):    my_bar = st.progress(10)    UHD_content_folder_path = 'PytorchWCT/content/UHD_content'    output_path = WCT_func.process(content_file_path,style_file_path)    for i in range(0,100,10):        my_bar.progress(i + 1)    my_bar.progress(100)    st.write('风格化之后的图片')    st.image(output_path)

项目的运行和部署

streamlit框架的运行方式非常简单,直接在命令行执行:

$ streamlit run streamlit_demo.py

就可以在浏览器中进行访问了。

总结

streamlit框架非常适合快速编写流程不太复杂且需要可视化操作的demo,作者从开始编写到编写完成这个demo用时不到半个小时,编写代码不到50行,而且运行部署起来非常方便,页面看起来要比使用flask之类的框架渲染出的网页美观许多,实乃算法工程师的利器。

到此,关于"如何安装streamlit框架"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

组件 风格 图片 框架 文件 用户 页面 选择 代码 命令 数据 处理 学习 复杂 结果 进度 音频 项目 支持 运行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 互联网科技工作委员会 盈实互联网科技 互联网最新的科技有限公司 互联网科技未来 金融科技 互联网金融 互联网金融 金融科技 奇酷互联网科技公司 鑫亿盛互联网科技 互联网金融科技平台 互联网金融科技委员会 恒银科技与互联网金融 科技与互联网哪个更好 贵州叶脉互联网科技有限公司所属行业 崇明区互联网教育科技售后服务 互联网在线教育科技创业 烟台灵鸽互联网科技有限公司 黑科技 体验场景 互联网大会 互联网企业科技类企业如何做账 广西泛欧互联网科技有限公司 手磨咖啡 致聘互联网科技 卫星互联网科技股票 天速互联网络科技有限公司 小米互联网科技园设置 常德市电业局互联网科技部 花神(南京)互联网科技有限公司 广州市恰铎互联网科技有限公司 为客找房互联网科技公司怎么样 知域互联网科技有限公司官网
0