So erstellen Sie eine Machine-Learning-Webanwendung mit Gradio unter Ubuntu

So erstellen Sie eine Machine-Learning-Webanwendung mit Gradio unter Ubuntu

Einleitung

Machine Learning (ML) ist ein Teilfeld der künstlichen Intelligenz, das Computern ermöglicht, aus Daten zu lernen und Vorhersagen zu treffen. ML-Modelle werden in einer Vielzahl von Anwendungen eingesetzt, darunter Bild- und Spracherkennung, Sprachverarbeitung und Predictive Analytics.

Gradio ist eine Open-Source-Bibliothek, die die Erstellung interaktiver Webanwendungen für ML-Modelle vereinfacht. Mit Gradio können Sie schnell und einfach Benutzeroberflächen für Ihre Modelle erstellen, sodass Benutzer damit interagieren und Vorhersagen in Echtzeit treffen können.

In diesem Tutorial erfahren Sie, wie Sie eine ML-Webanwendung mit Gradio unter Ubuntu erstellen. Wir werden ein einfaches Beispiel verwenden, bei dem ein ML-Modell verwendet wird, um den MNIST-Datensatz mit handschriftlichen Ziffern zu klassifizieren.

Voraussetzungen

* Ubuntu 20.04 oder höher
* Python 3.6 oder höher
* Pipenv

Schritt 1: Gradio installieren

Beginnen Sie mit der Installation von Gradio über Pipenv:


pipenv install gradio

Schritt 2: Projekt erstellen

Erstellen Sie ein neues Verzeichnis für Ihr Projekt und wechseln Sie in dieses Verzeichnis:


mkdir ml-webapp
cd ml-webapp

Schritt 3: Umgebung aktivieren

Aktivieren Sie die Pipenv-Umgebung für Ihr Projekt:

  Vergleich von funktionaler Programmierung, imperativer Programmierung und objektorientierter Programmierung


pipenv shell

Schritt 4: Erstellen Sie eine Python-Datei

Erstellen Sie eine neue Python-Datei mit dem Namen app.py und fügen Sie den folgenden Code hinzu:

python
import gradio as gr
import tensorflow as tf

Laden des MNIST-Datensatzes

(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()

Normalisieren der Daten

x_train = x_train.astype('float32') / 255.0
x_test = x_test.astype('float32') / 255.0

Erstellen eines einfachen Modells

model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])

Kompilieren des Modells

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

Trainieren des Modells

model.fit(x_train, y_train, epochs=5)

Erstellen einer Gradio-Schnittstelle

demo = gr.Interface(
fn=model.predict,
inputs=gr.Image(shape=(28, 28)),
outputs=gr.Label(num_top_classes=3)
)

Starten der Anwendung

demo.launch(share=True)

Schritt 5: Starten der Anwendung

Führen Sie den folgenden Befehl aus, um die Anwendung zu starten:


python app.py

Dadurch wird die Gradio-Anwendungs-URL angezeigt. Navigieren Sie zu dieser URL in Ihrem Webbrowser.

Schritt 6: Interaktion mit der Anwendung

Die Anwendung zeigt Ihnen eine Benutzeroberfläche mit einem leeren Feld. Sie können ein Bild einer handschriftlichen Ziffer in das Feld zeichnen, und das Modell wird die Ziffer vorhersagen.

Fazit

In diesem Tutorial haben wir gelernt, wie man eine ML-Webanwendung mit Gradio unter Ubuntu erstellt. Gradio bietet eine einfache und intuitive Möglichkeit, interaktive Benutzeroberflächen für Ihre ML-Modelle zu erstellen. So können Sie Ihre Modelle einfach mit anderen teilen und die Vorhersagen in Echtzeit erstellen lassen.

Häufig gestellte Fragen

1. Was sind die Vorteile der Verwendung von Gradio für die Erstellung von ML-Webanwendungen?

Gradio vereinfacht die Erstellung interaktiver Webanwendungen für ML-Modelle. Es bietet eine einfache und benutzerfreundliche Oberfläche, mit der Sie schnell und einfach Benutzeroberflächen für Ihre Modelle erstellen können.

2. Welche Arten von ML-Modellen kann ich mit Gradio verwenden?

Sie können Gradio verwenden, um eine Vielzahl von ML-Modellen zu verwenden, einschließlich Bild- und Spracherkennung, Sprachverarbeitung und Predictive Analytics.

3. Kann ich Gradio zur Bereitstellung meiner ML-Modelle verwenden?

Ja, Sie können Gradio verwenden, um Ihre ML-Modelle bereitzustellen. Gradio bietet eine einfache Möglichkeit, Ihre Modelle über eine Webschnittstelle bereitzustellen.

4. Wie kann ich meine Gradio-Anwendung mit anderen teilen?

Gradio bietet eine Option zum Teilen Ihrer Anwendung. Sie können einen Link zu Ihrer Anwendung generieren und mit anderen teilen.

5. Kann ich Gradio mit anderen Webanwendungen integrieren?

Ja, Sie können Gradio mit anderen Webanwendungen integrieren. Gradio bietet eine API, mit der Sie Ihre Anwendung in andere Webanwendungen integrieren können.

6. Welche Ressourcen stehen mir zur Verfügung, um mehr über Gradio zu erfahren?

Es gibt eine Reihe von Ressourcen, die Ihnen dabei helfen, mehr über Gradio zu erfahren, darunter die offizielle Dokumentation, Tutorials und Beispiele.

7. Gibt es alternative Bibliotheken zu Gradio für die Erstellung von ML-Webanwendungen?

Ja, es gibt alternative Bibliotheken zu Gradio, wie z. B. Flask, Django und Streamlit.

8. Wie kann ich in Gradio benutzerdefinierte Komponenten erstellen?

Sie können in Gradio benutzerdefinierte Komponenten erstellen, indem Sie die Gradio-API verwenden. Weitere Informationen finden Sie in der offiziellen Dokumentation.

9. Gibt es Best Practices für die Verwendung von Gradio?

Ja, es gibt eine Reihe von Best Practices für die Verwendung von Gradio, z. B. die Verwendung einer einfachen und benutzerfreundlichen Oberfläche und die Sicherstellung, dass Ihre Anwendung schnell und reaktionsschnell ist.

10. Wie kann ich auf den Quellcode von Gradio zugreifen?

Der Quellcode von Gradio ist auf GitHub unter gradio-app/gradio verfügbar.