操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    關于OTA延遲升級 iOS 14.8.1 、15.1、15.1.1 方法已經(jīng)關閉了,昨天我也提到,這三個版本延遲時間為:3月13日早上8點到期,直到今天已經(jīng)正式關閉,如果你安裝該描述文件,你只能收到 15.2 更新包。

    我也親自測試一下,使用 iPhone 6S Plus iOS 14.8.1 系統(tǒng),嘗試升級 iOS 15.1 系統(tǒng),它會顯示 iOS 15.2 更新包,意味著它已經(jīng)正式關閉。

    如果你是 iPhone 6S - 12 低版本已經(jīng)越獄的,還能通過SHSH2方法升級到 iOS 15.0 - 15.1.1 系統(tǒng),前提你有備份SHSH2,如果沒有就沒辦法了,之前有使用過 Taurine 越獄的,它會自動備份。

    如果沒有的,你只能前往愛思助手-智能刷機-專業(yè)刷機-查詢SHSH,看看有沒有iOS15.0-15.1的SHSH2文件,還是沒有的話,那就沒辦法了。

    得知SHSH2文件后,你對SHSH2文件右鍵編輯,找到generator值,然后復制,再返回到 unc0ver 越獄工具,打開設置輸入generator值,返回激活就行,這樣就能固定了。

    通過用戶反饋,可直接下載 FutureRestore GUI 上傳 SHSH2 和 iOS 15.1 固件。

    再選擇 Controls 選項,點擊 Start FutureRestore 按鈕,這里就開始執(zhí)行降級了,等待完成就行。

    上述方法需要用到 macOS 系統(tǒng)操作,而 Windows 系統(tǒng)暫時不支持,只能刷 macOS 黑蘋果來操作,工具在新有趣工具箱小程序桌面上獲取,找到macOS虛擬機就行。

    注意!本次方法一旦 iOS 15.4 正式版發(fā)布后,可能就不支持升級了,如果你的設備帶有 Face ID 設備想升級的就即可,因為 iOS 15.4 SEP會不兼容,導致你無法順利升級,iPhone 6S - 8 不受影響。

    大概這些內(nèi)容了,話說!你們覺得 iOS 15.1 有必要升級嗎?請評論。

    作者 | AJ Gordon

    責編 | Carol

    頭圖 | CSDN 付費下載于視覺中國

    出品 | CSDN云計算(ID:CSDNcloud)

    本文主要介紹如何利用Python的Streamlit庫和Heroku云平臺來做一個交互式數(shù)據(jù)分析Web應用。開發(fā)環(huán)境如下:

    • Windows10系統(tǒng)

    • Anaconda3(python3.7.4)

    • Git(2.26.0.windows.1)

    • Heroku賬號

    • 梯子(Heroku需科學上網(wǎng)才可訪問)

    Streamlit

    根據(jù)Streamlit官方文檔介紹,它是一個開放源代碼的Python庫,可以輕松地為機器學習和數(shù)據(jù)科學構建漂亮的自定義web應用程序。也就是說,即使你對web開發(fā)并不熟悉,但只要利用它,就可以很容易搭建出一個Web。

    通過“pip install streamlit”進行安裝,再執(zhí)行“streamlit hello”。若安裝成功,默認瀏覽器會自動打開或輸入“l(fā)ocalhost:8501”,會彈出如下圖界面。

    圖1 安裝成功界面

    Streamlit用于數(shù)據(jù)可視化的話,主要模塊有:Cache,Interactive widgets,Charts。

    1) Cache

    Streamlit遵循由上至下的運行順序,所以每次代碼中有進行任何更改,都會重新開始運行一遍,會十分耗時。@st.cache會對封裝起來的函數(shù)進行緩存,避免二次加載。如果函數(shù)中的代碼發(fā)生變動,cache會重新加載一遍并緩存起來。假如將代碼還原到上一次版本,由于先前的數(shù)據(jù)已經(jīng)緩存起來了,所以不會進行二次加載。

    import streamlit as st

    import time

    st.write("Loading....")

    start_time=time.clock

    @st.cache

    def expensive_computation(a, b):

    time.sleep(5)

    return a ** b

    a=2

    b=21

    res=expensive_computation(a, b)

    st.write("Result:", res)

    end_time=time.clock

    st.write("耗時:%0.1f 秒" % (end_time-start_time))

    圖2 Cache

    2) Interactive widgets

    Streamlit提供多種組件,如滑塊,選擇框和按鈕等交互組件。利用組件可以靈活地展示數(shù)據(jù),這一點類似很多BI工具提供的功能。

    import streamlit as st

    import pandas as pd

    import time

    # 按鈕

    st.subheader("按鈕")

    if st.button('Say hello'):

    st.write('Why hello there')

    # 復選框

    st.subheader("復選框")

    agree=st.checkbox('I agree')

    if agree:

    st.write('Great!')

    # 單選框

    st.subheader("單選框")

    genre=st.radio(

    "What's your favorite movie genre",

    ('Comedy', 'Drama', 'Documentary'))

    if genre=='Comedy':

    st.write('You selected comedy.')

    else:

    st.write("You didn't select comedy.")

    # 選擇框

    st.subheader("選擇框")

    option=st.selectbox(

    'How would you like to be contacted?',

    ('Email', 'Home phone', 'Mobile phone'))

    st.write('You selected:', option)

    # 多選框

    st.subheader("多選框")

    options=st.multiselect(

    'What are your favorite colors',

    ('Green', 'Yellow', 'Red', 'Blue'),'Yellow')

    st.write('You selected:', options)

    # 滑塊

    st.subheader("滑塊")

    age=st.slider('How old are you?', 0, 130, 25)

    st.write("I'm ", age, 'years old')

    # 數(shù)值輸入框

    st.subheader("數(shù)值輸入框")

    number=st.number_input('Insert a number')

    st.write('The current number is ', number)

    # 加載數(shù)據(jù)

    uploaded_file=st.file_uploader("Choose a CSV file", type="csv")

    if uploaded_file is not None:

    data=pd.read_csv(uploaded_file)

    st.write(data)

    # 進度條

    my_bar=st.progress(0)

    for percent_complete in range(100):

    time.sleep(0.1)

    my_bar.progress(percent_complete + 1)

    圖3 Interactive widgets

    3) Charts

    Streamlit圖庫底層基于Matplotlib庫搭建,一些常見的圖表如折線圖,條形圖,關系圖等,都可以直接傳遞數(shù)據(jù)生成圖表。此外還增加了deck.gl,可以用于繪制3D地圖。

    import streamlit as st

    import pandas as pd

    import numpy as np

    # 折線圖

    st.subheader("折線圖")

    chart_data=pd.DataFrame(

    np.random.randn(20, 3),

    columns=['a', 'b', 'c'])

    st.line_chart(chart_data)

    # 面積圖

    st.subheader("面積圖")

    chart_data=pd.DataFrame(

    np.random.randn(20, 3),

    columns=['a', 'b', 'c'])

    st.area_chart(chart_data)

    # 條形圖

    st.subheader("條形圖")

    chart_data=pd.DataFrame(

    np.random.randn(50, 3),

    columns=["a", "b", "c"])

    st.bar_chart(chart_data)

    # 3D圖

    st.subheader("3D圖")

    df=pd.DataFrame(

    np.random.randn(1000, 2) / [50, 50] + [37.76, -122.4],

    columns=['lat', 'lon'])

    st.deck_gl_chart(

    viewport={

    'latitude': 37.76,

    'longitude': -122.4,

    'zoom': 11,

    'pitch': 50,

    },

    layers=[{

    'type': 'HexagonLayer',

    'data': df,

    'radius': 200,

    'elevationScale': 4,

    'elevationRange': [0, 1000],

    'pickable': True,

    'extruded': True,

    }, {

    'type': 'ScatterplotLayer',

    'data': df,

    }])

    # 關系圖

    st.subheader("關系圖")

    st.graphviz_chart('''

    digraph {

    run -> intr

    intr -> runbl

    runbl -> run

    run -> kernel

    kernel -> zombie

    kernel -> sleep

    kernel -> runmem

    sleep -> swap

    swap -> runswap

    runswap -> new

    runswap -> runmem

    new -> runmem

    sleep -> runmem

    }

    ''')

    # 地圖

    st.subheader("地圖")

    df=pd.DataFrame(

    np.random.randn(1000, 2) / [50, 50] + [37.76, -122.4],

    columns=['lat', 'lon'])

    st.map(df)

    圖4 Charts

    Heroku

    Heroku是一個支持多種編程語言的云平臺,如Java,Node.js和Python等等。注冊賬號需要自備梯子,并且需使用gmail郵箱注冊。用戶每月可享受1000小時免費時長,以及512M內(nèi)存,若應用超過30分鐘沒訪問會自動休眠,重新訪問即可喚醒。然后,需要下載Heroku CLI命令行工具,下載以后可以使用命令行直接部署。

    圖5 Heroku支持的語言

    圖6 Heroku CLI下載頁面

    應用部署實例

    首先,新建一個文件“Streamlit_Demo.py”。

    import streamlit as st
    import pandas as pd
    import numpy as np

    st.title('Uber pickups in NYC')

    DATE_COLUMN='date/time'
    DATA_URL=('https://s3-us-west-2.amazonaws.com/'
    'streamlit-demo-data/uber-raw-data-sep14.csv.gz')

    @st.cache
    def load_data(nrows):
    data=pd.read_csv(DATA_URL, nrows=nrows)
    lowercase=lambda x: str(x).lower
    data.rename(lowercase, axis='columns', inplace=True)
    data[DATE_COLUMN]=pd.to_datetime(data[DATE_COLUMN])
    return data

    data_load_state=st.text('Loading data...')
    data=load_data(100)
    data_load_state.text("Done! (using st.cache)")

    if st.checkbox('Show raw data'):
    st.subheader('Raw data')
    st.write(data)

    st.subheader('Number of pickups by hour')
    hist_values=np.histogram(data[DATE_COLUMN].dt.hour, bins=24, range=(0,24))[0]
    st.bar_chart(hist_values)

    hour_to_filter=st.slider('hour', 0, 23, 17)
    filtered_data=data[data[DATE_COLUMN].dt.hour==hour_to_filter]

    st.subheader('Map of all pickups at %s:00' % hour_to_filter)
    st.map(filtered_data)

    然后,再新建三個文件:Procfile,requirements.txt,setup.sh。這三個文件是部署Streamlit必備的,缺一不可。

    1) Procfile

    #代碼的執(zhí)行語句

    web: sh setup.sh && streamlit run Streamlit_Demo.py

    2) requirements.txt

    # 代碼所需的庫及其版本

    streamlit==0.56.0

    pandas==0.25.1

    numpy==1.16.5

    3) setup.sh

    # 配置

    mkdir -p ~/.streamlit/

    echo "\

    [server]\n\

    headless=true\n\

    port=$PORT\n\

    enableCORS=false\n\

    \n\

    " > ~/.streamlit/config.toml

    最后,配置文件和代碼準備好后,可以保存在本機demo路徑下。再按照以下步驟進行部署:

    1) 進入項目路徑,先登錄heroku,輸入“heroku login”后按下空格鍵,默認瀏覽器會自動打開,輸入heroku賬號和密碼后關閉即可。

    cd demo

    heroku login

    2) 創(chuàng)建一個新應用,輸入”heroku create xx”,heroku規(guī)定應用名稱開頭結(jié)尾只能是小寫字母,并且全名只能包含小寫字母,數(shù)字和破折號。也可以只輸入”heroku create”,會自動命名一個應用。

    heroku create streamlit-demo-01

    # 或者

    # heroku create

    3) 初始化git代碼庫,并遠程操控heroku。

    git init

    heroku git:remote –a streamlit-demo-01

    git add .

    git commit -m "Initialize Project"

    # 若git出現(xiàn)"git Please tell me who you are.",運行以下兩條命令,再重新執(zhí)行commit:

    # git config user.name "heroku用戶名"

    # git config user.email "heroku注冊郵箱"

    4) 上傳代碼到heroku代碼庫。

    git push heroku master

    5) 執(zhí)行”heroku open”打開部署好的應用,若打開后出現(xiàn)” Application error”,需要自行排查是否缺失文件或文件內(nèi)容有誤,筆者一開始因為缺少”setup.sh”文件導致部署失敗。另外,筆者直接從github clone后也會報錯,所以是在本機新建文件和文件夾的,項目上傳至https://github.com/guoxulong/streamlit_demo。

    heroku open

    6) 部署完成后,輸入“https://streamlit-demo-01.herokuapp.com/”(需翻墻)就能夠訪問這個Web。

    圖7 部署完成界面

    總結(jié)

    總體上來講,相比較用Django框架開發(fā)Web,Streamlit開發(fā)一個交互式應用會更輕松,雖然功能還不完善,但對于數(shù)據(jù)分析可視化來說已經(jīng)滿足了,而且只需要掌握Streamlit庫的用法就可以實現(xiàn)。

    作者:AJ Gordon,對爬蟲/機器學習/數(shù)據(jù)建模/可視化均有所涉獵的數(shù)據(jù)分析師。

    ?AI 看臉算命,3 萬張自拍揭露:顏值即命?

    ?無代碼來了,還要程序員嗎?

    ?芯片供應被掐斷,華為能否安全渡劫?

    ?來了來了!趨勢預測算法大PK!

    ?Python開發(fā)之:Django基于Docker實現(xiàn)Mysql數(shù)據(jù)庫讀寫分離、集群、主從同步詳解 | 原力計劃

    ?15 歲黑進系統(tǒng),發(fā)挑釁郵件意外獲 Offer,不惑之年捐出全部財產(chǎn),Twitter CEO 太牛了!

網(wǎng)站首頁   |    關于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有