¿Desarrolló una aplicación de aprendizaje automático o apprendimento profondoApprendimento profondo, Una sottodisciplina dell'intelligenza artificiale, si affida a reti neurali artificiali per analizzare ed elaborare grandi volumi di dati. Questa tecnica consente alle macchine di apprendere modelli ed eseguire compiti complessi, come il riconoscimento vocale e la visione artificiale. La sua capacità di migliorare continuamente man mano che vengono forniti più dati lo rende uno strumento chiave in vari settori, dalla salute... utilizando Streamlit y no sabe cómo implementarla en Heroku? Non preoccuparti, gli copro la schiena. In questo articolo, Discuterò come implementare la tua applicazione ML / DL Streamlit e Heroku. Allora cominciamo!
Nota: Questo articolo considera che il lettore ha già sviluppato un'applicazione ottimizzata e utilizzeremo un'applicazione demo in questo articolo.
Sommario
- Crea un'applicazione demo
- Software richiesto
- Implementazione in Heroku
- Note finali
Crea un'applicazione demo
Costruiamo un'app demo. Useremo un semplice e famoso Previsione del prezzo della casa Applicazione. È possibile scaricare i set di dati da qui. Di seguito è riportato il codice.
importa panda come pd importa numpy come np import streamlit as st tempo di importazione da sklearn.preprocessing import StandardScaler da sklearn.linear_model import LinearRegression da sklearn.model_selection import train_test_split def principale(): df = load_data() df = preprocess_data(df) st.titolo("Previsione dei prezzi delle case per la Silicon Valley dell'India" - Bangalore') st.markdown('Basta inserire i seguenti dettagli e noi prevediamo il prezzo della tua **Casa dei sogni**') st.sidebar.title("Contatto dello sviluppatore") st.sidebar.markdown('[![Duro-Dhamecha]' '(https://img.shields.io/badge/Author-Harsh Dhamecha-brightgreen)]' '(https://www.linkedin.com/in/harsh-dhamecha/)') st.avvertimento("Inserisci solo valori numerici nei seguenti campi") bhk = st.text_input("BHK . totali") area = st.text_input("Area in piedi quadrati") bagni = st.text_input("Totale bagni") balcone = st.selectbox("Balcone totale", ['0', '1', '2', '3']) invia = st.button("Prevedi prezzo") se presentare: se bhk e area e bagni e balcone: con st.spinner('Prevedere...'): tempo.dormire(2) bhk, la zona, bagni, balcone = int(bhk), int(la zona), int(bagni), int(balcone) x_test = np.array([[bhk, la zona, bagni, balcone]]) predizione = predire(df, x_test) st.info(F"Il prezzo della tua **casa dei sogni** è {predizione} lacs") altro: st.errore("Inserisci tutti i dettagli") @st.cache def train_model(df): scalatore globale X, y = df.iloc[:, :-1].valori, df.iloc[:, -1].valori scaler = StandardScaler().in forma(X) X = scaler.trasformare(X) X_treno, X_test, y_train, y_test = train_test_split(X, e, test_size=0.2, stato_casuale=23) modello = regressione lineare().in forma(X_treno, y_train) modello di ritorno, ablatore def predire(df, x_test): modello, scaler = train_model(df) X_test = scaler.transform(x_test) y_pred = model.predict(X_test) torna indietro(y_pred[0], 2) def load_data(): return pd.read_csv("Set di dati/previsione-prezzo-casa.csv") def preprocess_data(df): df = df.loc[:, ['dimensione', 'total_sqft', 'bagno', 'balcone', 'prezzo']] df.dropna(inplace=Vero) df = df[df['dimensione'].str.contiene('BHK', na = falso)] df['dimensione'] = df['dimensione'].str.replace(r'D', '').come tipo(int) df['total_sqft'] = df['total_sqft'].str.estratto(R'(d+)', espandi=Falso) df['bagno'] = df['bagno'].come tipo(int) df['balcone'] = df['balcone'].come tipo(int) df['total_sqft'] = df['total_sqft'].come tipo(int) ritorno df if __name__ == '__main__': principale()
Puoi eseguire la tua applicazione streamlit localmente usando il seguente comando.
esegui in modo semplificato app.py
Nota: app.py è il file che vogliamo eseguire.
La nostra applicazione è simile alla seguente.
Prima di inserire i dettagli:
Dopo aver inserito i dettagli:
Software richiesto
Per implementare la nostra applicazione ottimizzata, abbiamo bisogno del seguente software:
- Idiota Scarica da qui
- Heroku CLI Scarica da qui
- Account Heroku gratuito crea qui
e segui le istruzioni sullo schermo.
Implementazione in Heroku
Ora che abbiamo la nostra applicazione demo e il software necessario nelle nostre mani, implementiamo la nostra applicazione su Heroku.
File richiesti
Primo, dobbiamo aggiungere alcuni file che consentano a Heroku di installare tutte le librerie richieste ed eseguire la nostra applicazione.
requisito.txt
Questo file contiene tutte le librerie necessarie che verranno installate affinché il progetto funzioni. Questo file può essere creato manualmente rivedendo il progetto ed elencando tutte le librerie che sono state utilizzate nel progetto. Ma useremo i pipreq modulo per farlo, che crea automaticamente un file require.txt. Installalo con il seguente comando se non l'hai già fatto.
pip install pipreqs
Ora, vai alla directory del tuo progetto e digita il seguente comando.
pipreqs ./
Il nostro file require.txt è pronto!! Dovrebbe assomigliare al seguente.
Procfile e setup.sh
Usando questi due file, diciamo a Heroku i comandi necessari per avviare la nostra applicazione.
Nel file setup.sh creeremo una cartella streamlit con credenziali.toml e un file config.toml. Di seguito è riportato il comando che verrà incollato nel file setup.sh.
mkdir -p ~/.streamlit/ eco " [generale]n e-mail = "[e-mail protetta]"n " > ~/.streamlit/credentials.toml eco " [server]n senza testa = truen enableCORS=false porta = $PORTn " > ~/.streamlit/config.toml
Il Procfile viene utilizzato per eseguire prima setup.sh e poi chiamare corsa illuminata per eseguire l'applicazione. Il tuo Procfile dovrebbe essere simile al seguente.
ragnatela: sh setup.sh && esegui in modo semplificato app.py
Nota: app.py è il file che vogliamo eseguire per primo (contiene la funzione principale). Se hai definito la tua funzione principale in qualche altro file, passalo invece di app.py.
Crea un repository Git
Heroku offre diversi modi di implementazione, ma useremo git poiché è semplice.
Digita il seguente comando per inizializzare un repository git vuoto. Assicurati di essere nella directory principale del tuo progetto.
git init
Iniciar sessioneIl "Sessione" È un concetto chiave nel campo della psicologia e della terapia. Si riferisce a un incontro programmato tra un terapeuta e un cliente, dove si esplorano i pensieri, Emozioni e comportamenti. Queste sessioni possono variare in durata e frequenza, e il suo scopo principale è quello di facilitare la crescita personale e la risoluzione dei problemi. L'efficacia delle sessioni dipende dalla relazione tra il terapeuta e il terapeuta.. en Heroku
Prossimo, dobbiamo accedere a Heroku. Possiamo farlo con il seguente comando.
login heroku
Ti verrà chiesto di premere un pulsante e, una volta che l'ho fatto, verrai reindirizzato a una schermata di accesso nel browser predefinito.
Dopo aver inserito le tue credenziali, dovresti vedere qualcosa come il seguente.
Distribuire l'applicazione
Finalmente, possiamo implementare la nostra applicazione in Heroku. Creiamo prima un'istanza della nostra applicazione. Possiamo farlo con il seguente comando.
heroku crea case-prezzi-prezzi
predittore del prezzo della casa è un nome che ho scelto per la mia candidatura. Non puoi usare lo stesso nome che ho già preso io. Quindi scegli il nome della tua app di conseguenza.
Finalmente, invia il codice a quell'istanza con i seguenti comandi.
git add . git commit -m "qualche messaggio" git push heroku maestro
Quando si esegue git push Heroku master, Dovresti notare che dovrebbe rilevare automaticamente che hai un'applicazione Python e dovrebbe installare tutti i pacchetti all'interno di require.txt. Al termine del comando, dovresti vedere qualcosa come il seguente.
Nota: Come ho scelto il nome predittore del prezzo della casa, ho questo URL. Otterresti un URL in base al nome della tua app.
Fai clic sull'URL per vedere la tua applicazione distribuita live.
Congratulazioni! Ho Ho distribuito con successo la nostra prima applicazione.
Suggerimenti bonus
Se vuoi cambiare / modifica i file dopo la distribuzione, puoi farlo nei tuoi file ed eseguire i seguenti comandi affinché tali modifiche si riflettano nella tua applicazione distribuita live.
git add . git commit -m "qualche messaggio" git push heroku maestro
Otterresti di nuovo lo stesso URL mostrato nell'immagine sopra, fai clic su quello e voilà!
Note finali
Questo completa la discussione di oggi.
Grazie per aver letto questo!
Spero che l'articolo ti sia piaciuto e che abbia implementato con successo la tua prima app Streamlit su Heroku!!
Clicca qui per vedere la nostra prima app illuminata dal vivo. Sentiti libero di inserire il tuo primo collegamento all'app live nella sezione commenti qui sotto.
Mi sono perso qualcosa di importante o volevo condividere i tuoi pensieri? Commenta qui sotto e ti risponderò.
Circa l'autore
Sono il duro Dhamecha, un aspirante scienziato dei dati. Sono uno studente dell'ultimo anno della laurea in Informatica con specializzazione in Intelligenza Artificiale. Uno studente motivato desideroso di aiutare la comunità della scienza dei dati il più possibile.
Se hai qualche domanda, può direttamente E-mail me o connettiti con me su LinkedIn oh Twitter.
Se ti piace come scrivo, puoi anche cercare negli altri articoli che ho scritto.
Continua a leggere! Un grazie speciale a te ?
Il supporto mostrato in questo articolo che spiega come implementare l'app Streamlit su Heroku non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.