您当前的位置:首页 > 电脑百科 > 人工智能

Streamlit是python的一个机器学习、数据科学、应用开发框架

时间:2020-06-21 22:00:56  来源:  作者:

1 说明:

===初探===

1.1 Streamlit

1.1.1 是一个开源Python库,可轻松构建用于机器学习的漂亮应用程序。

1.1.2 是一款专为机器学习工程师创建的免费、开源 App 构建框架

1.1.3 是一个简单而强大的应用程序模型,可让您快速构建丰富的UI。

1.1.4 是第一个专门针对机器学习和数据科学团队的应用开发框架。

1.1.5 是开发自定义机器学习工具的最快的方法,它的目标是取代Flask在机器学习项目中的地位,可以帮助机器学习工程师快速开发用户交互工具。

Streamlit是python的一个机器学习、数据科学、应用开发框架

 

1.2 环境:

华为笔记本电脑、深度deepin-linux操作系统、python3.8和微软vscode编辑器。

1.3 官网:

https://www.streamlit.io/
https://github.com/streamlit/streamlit
https://docs.streamlit.io/en/latest/

2 安装过程:

=====

2.1 安装:

pip install streamlit
#本机安装
sudo pip3.8 install streamlit  #慢
#推荐安装方法
sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple streamlit #超快

2.2 第一个报错:

ERROR: chartify 2.7.0 has requirement bokeh<2.0.0,>=1.4.0, but you'll have bokeh 2.1.0 which is incompatible.
ERROR: chartify 2.7.0 has requirement pandas<1.0.0,>=0.21.0, but you'll have pandas 1.0.4 which is incompatible.

#提示bokeh和pandas的版本均太高了,暂时忽略看看行不行,因为我提前安装bokeh和pandas

2.3 第二个提醒:

  WARNING: The script base58 is installed in '/usr/local/python3.8/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

  #解决办法:建立软连接,本机如下
sudo ln -s /usr/local/python3.8/bin/base58 /usr/bin/base58

2.4 第三个提醒:

  WARNING: The script streamlit is installed in '/usr/local/python3.8/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

#解决办法:建立软连接,本机如下
sudo ln -s /usr/local/python3.8/bin/streamlit /usr/bin/streamlit

2.5 验证:查看版本,成功。

xgj@xgj-PC:~$ streamlit --version

Streamlit, version 0.61.0

3 查看demo

=========

3.1 第一次,打开终端输入:

streamlit hello

3.2 需要输入个人email:

   Welcome to Streamlit!

  If you're one of our development partners or you're interested in getting
  personal technical support or Streamlit updates, please enter your email
  address below. Otherwise, you may leave the field blank.

#需要输入自己的email地址
  Email: xxx@xxx

#回车,出现下面,并自动打开浏览器
  Privacy Policy:
  As an open source project, we collect usage statistics. We cannot see and do
  not store information contained in Streamlit apps. You can find out more by
  reading our privacy policy at: https://streamlit.io/privacy-policy

  If you'd like to opt out of usage statistics, add the following to
  ~/.streamlit/config.toml, creating that file if necessary:

    [browser]
    gatherUsageStats = false

  You can now view your Streamlit app in your browser.

  Local URL: http://localhost:8501
  Network URL: http://192.168.12.106:8501
#按ctrl+c退出

3.3 第二次进入,如下操作和示意图:

Streamlit是python的一个机器学习、数据科学、应用开发框架

 

4 st.image:

========

4.1 方法一:官方推荐法,缺点gif图片显示静态的

import streamlit as st
#官方的显示图片法一
from PIL import Image #采用PIL读取图片
image = Image.open('/home/xgj/Desktop/Streamlit/20.jpeg')
#image = Image.open('/home/xgj/Desktop/Streamlit/21.jpg')
#image = Image.open('/home/xgj/Desktop/Streamlit/22.png')
#image = Image.open('/home/xgj/Desktop/Streamlit/23.gif')  #静态的图片

#caption='显示图片',图片信息;width=300,指定图片宽度,自动缩放;默认是图片本身的大小
st.image(image, caption='显示图片',width=300)

4.2 方法二:

import streamlit as st
#显示图片法二,推荐这种方法
#pic_file = open('/home/xgj/Desktop/Streamlit/12.gif', 'rb')  #gif可以动态显示
pic_file = open('/home/xgj/Desktop/Streamlit/21.jpg', 'rb') 

pic_bytes = pic_file.read()
st.image(pic_bytes)  

4.3 效果图:

#注意代码块中采用#注释,如果采用python的'''和'''大片状注释法会在网页上显示代码块,不建议。
Streamlit是python的一个机器学习、数据科学、应用开发框架

 

#如果修改代码块,保存后,因为终端启动服务器,所以只需要网页刷新即可看到效果
#图片显示默认的是默认大小,也可以自定义显示大小:width设置即可。
#采用微软的vscode编辑器的run,没反应,估计没设置好,所以本文采用官方推荐的方法,就是终端
#输入:streamlit run xxx.py运行

5 st.video和st.audio

===============

5.1 代码:

import streamlit as st

#播放动画
#video_file = open('/home/xgj/Desktop/Streamlit/11.mp4', 'rb') #mp4成功
#用st.video播放mp3可以,但是无效视频框太大,占空间
#video_file = open('/home/xgj/Desktop/Streamlit/sn.mp3', 'rb')  #不推荐

#video_bytes = video_file.read()
#st.video(video_bytes)

#播放mp3,推荐用audio法,包括ogg、wav格式
audio_file = open('/home/xgj/Desktop/Streamlit/sn.mp3', 'rb')   #推荐
audio_bytes = audio_file.read()
st.audio(audio_bytes)  

5.2 操作效果图:

Streamlit是python的一个机器学习、数据科学、应用开发框架

 

6 文本输出:

========

6.1 代码:

import streamlit as st

st.title('Helloworld,你好,世界')
st.header('Helloworld,你好,世界')
st.write('Helloworld,你好,世界')
#在终端输入
#streamlit run 1.py

6.2 效果图:

Streamlit是python的一个机器学习、数据科学、应用开发框架

注意字体特点

7 信息提示框:

==========

7.1 代码:

import streamlit as st

st.error('This is error!')
st.info('welcome to the streamlit!')
st.warning('This is warning!')
e = RuntimeError('This is an exception of type RuntimeError')
st.exception(e)

7.2 图:

Streamlit是python的一个机器学习、数据科学、应用开发框架

 

8 input输入框:

===========

8.1 代码:

import streamlit as st
#注意自动依次布局
#文本输入
url = st.text_input('Enter URL')
st.write('The Entered URL is', url)
#数字输入
num = st.number_input('Enter NUMBER')
st.write('You enter number is',num)
#当前日期选择器
todaydate=st.date_input('Today is ')
st.write('Today is :',todaydate)
#当前时间获取
nowtime=st.time_input('Nowtime is:')
st.write('Nowtime is :',nowtime)

8.2 操作效果图:

Streamlit是python的一个机器学习、数据科学、应用开发框架

 

9 进度条:

=======

9.1 学习st.sidebar=侧边栏,st.empty,st.success和python的格式化输出知识复习:比如显示%=%%。

9.2 代码:

import streamlit as st
import time
#正文的进度条
my_bar = st.progress(0)
#进度数字显示
frame_text = st.empty()
#sidebar 侧边栏的进度条
xx_bar=st.sidebar.progress(0)
#侧边栏进度数字显示
frame_textxx = st.sidebar.empty()

for i in range(100):
    my_bar.progress(i + 1)
    frame_text.text("Frame %i%%/100%%" % (i+ 1))
    xx_bar.progress(i + 1)
    frame_textxx.text("Frame %i%%/100%%" % (i+ 1))
    time.sleep(0.1)
#清空显示进度条的百分比文本
#frame_text.empty()
#frame_textxx.empty()
#提示成功和完成信息框
st.sidebar.success("done")
st.success("done")

#在脚本所在的目录下的终端输入
#streamlit run 2-progres.py

9.3 操作和效果图:

Streamlit是python的一个机器学习、数据科学、应用开发框架

 

10 st.spinner,st.balloons和st.help用法:

==============================

10.1 代码:

import streamlit as st
#导入时间
import time
with st.spinner('Please wait for it...'):
    time.sleep(5)
st.success('Done!')
#彩蛋
st.balloons()  #放庆祝气球
#调出pandas.DataFrame的帮助信息
import pandas
st.help(pandas.DataFrame)
#运行脚本
#streamlit run 9.py

10.2 操作和效果图:

#注意st.help
Streamlit是python的一个机器学习、数据科学、应用开发框架

 

11 st.slider滑动条:

===============

11.1 代码:

import streamlit as st
#滑动条1
x = st.slider('x')
st.write(x, 'squared is', x * x)
#滑动条2
age = st.slider('How old are you?', 0, 130, 25)
st.write("I'm ", age, 'years old')
#滑动条3
values = st.slider(
     'Select a range of values',
     0.0, 100.0, (25.0, 75.0))
st.write('Values:', values)

#终端输入
#streamlit run 5-slider.py

11.2 操作和效果图:

#比官方还仔细
Streamlit是python的一个机器学习、数据科学、应用开发框架

 

 



Tags:机器学习   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  Tags: 机器学习  点击:(32)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Tags: 机器学习  点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  Tags: 机器学习  点击:(37)  评论:(0)  加入收藏
作者:阿米特&middot;V. 乔希(Ameet V Joshi)来源:华章科技 01 人工智能艾伦&middot;图灵(Alan Turing)对人工智能的定义如下:如果窗帘后面有一台机器,并且有人正在与之互动(无论以何...【详细内容】
2021-09-07  Tags: 机器学习  点击:(76)  评论:(0)  加入收藏
字节跳动基础架构团队基于火山引擎机器学习平台 Clever 及其丰富的行业落地经验,推出开源项目 Klever,以工程化的方式降低智能技术落地门槛,助力企业快速打造智能业务。作者: 陈...【详细内容】
2021-02-19  Tags: 机器学习  点击:(170)  评论:(0)  加入收藏
特征选择是识别和选择与目标变量最相关的输入变量子集的过程。特征选择最简单的情况可能是存在数字输入变量和用于回归预测建模的数字目标的情况。这是因为可以计算出每个输...【详细内容】
2021-01-15  Tags: 机器学习  点击:(117)  评论:(0)  加入收藏
1、集成学习及Boosting算法集成学习属于机器学习,它是一种“训练思路”,并不是某种具体的方法或者算法。集成学习的核心思想是把已有的算法进行结合,从而得到更好的效果。集成...【详细内容】
2020-12-29  Tags: 机器学习  点击:(176)  评论:(0)  加入收藏
“终有一天,人工智能会像我们看待非洲平原上低级生物的化石一样看待我们。在人工智能眼中,人类只是直立行走的猿猴,用着粗糙的语言和简陋的工具,从诞生起就注定会灭绝。”&mdash...【详细内容】
2020-12-17  Tags: 机器学习  点击:(147)  评论:(0)  加入收藏
专注Python、AI、大数据,请关注公众号七步编程!人工智能方向的项目,和数据可视化是紧密相连的。模型训练过程中梯度下降过程是什么样的?损失函数的走向如何?训练模型的准确度怎么...【详细内容】
2020-10-15  Tags: 机器学习  点击:(357)  评论:(0)  加入收藏
在数据领域,很多人都在说机器学习,但是只有很少的人能说清楚怎么回事。网上关于机器学习的文章,大多都是充斥各种定理的厚重学术三部曲(我搞定半个定理都够呛),或是关于人工智能...【详细内容】
2020-09-25  Tags: 机器学习  点击:(111)  评论:(0)  加入收藏
▌简易百科推荐
作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。在本文中,我将介绍两个...【详细内容】
2021-12-17  deephub    Tags:AI   点击:(16)  评论:(0)  加入收藏
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  数据学习DataLearner    Tags:机器学习   点击:(32)  评论:(0)  加入收藏
11月2日召开的世界顶尖科学家数字未来论坛上,2013年诺贝尔化学奖得主迈克尔·莱维特、2014年诺贝尔生理学或医学奖得主爱德华·莫索尔、2007年图灵奖得主约瑟夫·斯发斯基、1986年图灵奖得主约翰·霍普克罗夫特、2002...【详细内容】
2021-11-03  张淑贤  证券时报  Tags:人工智能   点击:(39)  评论:(0)  加入收藏
鉴于物联网设备广泛部署、5G快速无线技术闪亮登场,把计算、存储和分析放在靠近数据生成的地方来处理,让边缘计算有了用武之地。 边缘计算正在改变全球数百万个设备处理和传输...【详细内容】
2021-10-26    计算机世界  Tags:边缘计算   点击:(45)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Python部落    Tags:机器学习   点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  TSINGSEE青犀视频    Tags:机器学习   点击:(37)  评论:(0)  加入收藏
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  憨昊昊    Tags:神经网络   点击:(47)  评论:(0)  加入收藏
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11    36氪  Tags:NLP   点击:(49)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  汉智兴科技    Tags:   点击:(54)  评论:(0)  加入收藏
说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系。人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能...【详细内容】
2021-09-17  异步社区    Tags:人工智能   点击:(57)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条