Während des Studiums des maschinellen Lernens wollte ich etwas erstellen und das Visualisierungstool Plotly berühren. Deshalb arbeitete ich an der Entwicklung einer App mit Dash, die Plotly verwendet. Das tatsächlich von Ihnen erstellte Produkt ist hier. Ich habe diesen Artikel geschrieben, um eine Lernaufzeichnung zu führen. Ich bin ein Anfänger in der App-Entwicklung, aber danke.
Ich hoffe, es ist hilfreich für diejenigen, die an der Entwicklung von Apps mit Dash interessiert sind oder Artefakte im Zusammenhang mit maschinellem Lernen und Datenwissenschaft erstellen möchten, sich aber fragen, was sie erstellen sollen. Es wird davon ausgegangen, dass Sie über Docker-Kenntnisse verfügen. Über Docker, [Kame-sans Blog](https://datawokagaku.com/category/%e8%ac%9b%e5%ba%a7%e4%b8%80%e8%a6%a7/docker%e8% b6% 85% e5% 85% a5% e9% 96% 80 /) (Udemy-Kurs, wenn Sie tief lernen möchten) ist leicht zu verstehen und wird empfohlen.
Dash ist eines der Webanwendungs-Frameworks von Python. Es ist ein Open-Source-Framework, das von Plotly entwickelt wurde und in anderen Sprachen wie R verwendet werden kann. Django und flask sind unter Pythons Webanwendungs-Frameworks bekannt, aber Dash zeichnet sich durch ** Spezialisierung auf Visualisierung ** aus. Flask, Plotly.js und React.js werden am hinteren Ende von Dash ausgeführt, und der Kern von Plotly.js ist ein JavaScript-basiertes Visualisierungstool, mit dem Sie interaktive Diagramme zeichnen können. Zusammenfassend lässt sich sagen, dass Dash das Erstellen dynamischer Dashboard-Apps ohne ** Kenntnisse von JavaScript ** vereinfacht. Selbst wenn Sie es in Worten erklären, ist es schwierig, ein Bild zu erhalten. Schauen Sie sich daher die Beispiel-App an, die auf der offiziellen Website veröffentlicht wurde. Es gibt viele Apps für maschinelles Lernen, und der Quellcode ist auch auf GitHub verfügbar, aber nicht alle. Daher denke ich, dass er als eine der Ausgabemethoden für maschinelles Lernen nützlich sein wird.
Die Umgebung wurde mit Docker unter Bezugnahme auf den Artikel dieser Person erstellt. Bereiten Sie die folgenden Dateien im Verzeichnis für die Dash-App vor (diesmal 'Dash_App').
<Verzeichnisstruktur>
Dash_App/
├ app.py
├ Dockerfile
└ docker-compose.yml
Dockerfile
FROM python:3.7.3
USER root
RUN apt-get update
RUN apt-get install -y vim less
RUN apt-get install -y zsh less
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
RUN pip install \
dash==1.16.3 \
pandas \
category_encoders \
scikit-learn
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
EXPOSE 5050
CMD ["bash"]
docker-compose.yml
version: '3'
services:
dash-app:
restart: always
build: .
container_name: 'dash-app'
ports:
- "5050:5050"
working_dir: '/root/'
tty: true
volumes:
- .:/root/src/
- ~/.zshrc:/root/.zshrc
Ich werde den Inhalt der App in app.py schreiben. Um den Vorgang zu überprüfen, kopieren Sie zunächst den Code in das offizielle Tutorial.
app.py
import dash
import dash_core_components as dcc
import dash_html_components as html
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
app.layout = html.Div(children=[
html.H1(children='Hello Dash'),
html.Div(children='Dash: A web application framework for Python.'),
dcc.Graph(
id='example-graph',
figure={
'data':[{'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
{'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'}],
'layout':{'title': 'Dash Data Visualization'}
}
)
])
if __name__ == '__main__':
app.run_server(host='0.0.0.0', port=5050, debug=True)
Beachten Sie, dass "host =" 0.0.0.0 "und" port = 5050 "im Codeteil (unterste Zeile), der den Server startet, hinzugefügt und angegeben werden. Starten Sie den Container nach dem Erstellen der Datei mit dem folgenden Befehl.
$ docker-compose up -d --build
Wenn der Container gestartet wird, geben Sie den Container ein und führen Sie "app.py" aus, wie im folgenden Befehl gezeigt. * Dash-App
ist der in docker-compose.yml
angegebene Containername.
$ docker-compose exec dash-app zsh -c "python src/app.py"
Wenn es kein Problem gibt, wird die App gestartet. Wenn Sie über Ihren Browser auf localhost: 5050
zugreifen und der folgende App-Bildschirm angezeigt wird, sind Sie erfolgreich. * Drücken Sie "Strg + C", um die App zu beenden.
Ich habe vorgestellt, wie man eine Dash-Umgebung mit einem Docker-Container erstellt (obwohl ich die Docker-Datei nur ein wenig geändert habe, während ich mir einen anderen Artikel angesehen habe ...). Docker ist praktisch, da Sie schnell die problematischste Umgebung erstellen können. In Nächster Artikel (Teil 2) möchte ich vorstellen, wie man app.py schreibt, indem ich mich auf den grundlegenden Teil konzentriere, während ich aus dem offiziellen Tutorial herausziehe. .. Vielen Dank.