Entwickler Blog: TensorFlow.js

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Antworten
r23
Beiträge: 2698
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Entwickler Blog: TensorFlow.js

Beitrag von r23 »

Hallo,

über die aktuelle Entwicklung und der Verwendung von TensorFlow.js habe ich einen Blogbeitrag veröffentlicht


https://blog.myoos.de/tensorflow-js/

Wenn dir dieser Blogbeitrag gefallen hat, teile ihn gerne mit deinen Freunden und Kollegen. Wir freuen uns über Dein Feedback und Deine Meinung in den Kommentaren.

Beste Grüße

Ralf
r23
Beiträge: 2698
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Entwickler Blog: TensorFlow.js

Beitrag von r23 »

Als Nachtrag eine Beispielanwendung:

Eine Beispielanwendung im Browser, die dir hilft festzustellen, ob TensorFlow.js richtig installiert wurde. Eine einfache Möglichkeit ist, TensorFlow.js von einem script-Tag zu laden und dann ein Modell zu definieren und zu trainieren. Hier ist ein Beispielcode, den du in einer HTML-Datei speichern und in deinem Browser öffnen kannst:

Code: Alles auswählen

<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="utf-8" />
  <title>TensorFlow.js Browser Beispiel</title>
  <!-- Laden Sie TensorFlow.js von einem script-Tag -->
  <script src="http://localhost/myoos/node_modules/@tensorflow/tfjs/dist/tf.min.js"></script>
</head>
http://localhost/myoos/node_modules/ in dem Beispiel passe dies bitte an deine Umgebung an.

Der Link sollte auf dein Verzeichnis hinweisen.
https://github.com/r23/MyOOS/tree/maste ... de_modules

Code: Alles auswählen

<body>
  <h1>TensorFlow.js Beispiel</h1>
  <h2>Öffnen Sie die Konsole, um die Ergebnisse zu sehen.</h2>
  <script>
    // Definieren Sie ein Modell für lineare Regression.
    // Das script-Tag macht `tf` als globale Variable verfügbar.
    const model = tf.sequential();
    model.add(tf.layers.dense({units: 1, inputShape: [1]}));
    model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

    // Erzeugen Sie einige synthetische Daten zum Trainieren.
    const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]);
    const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7], [6, 1]);

    // Trainieren Sie das Modell mit den Daten.
    model.fit(xs, ys, {epochs: 250}).then(() => {
      // Verwenden Sie das Modell für eine Inferenz auf einen Datenpunkt,
      // den das Modell noch nicht gesehen hat.
      model.predict(tf.tensor2d([20], [1, 1])).print();
      // Öffnen Sie die Browser-Entwicklertools, um die Ausgabe zu sehen.
    });
  </script>
</body>
</html>


Wenn du die HTML-Datei im Browser öffnest und die Konsole öffnest, solltest du eine Zahl wie 38.31612014770508 sehen.

Die genaue Zahl wird variieren, aber sie sollte nahe bei 39 liegen. Das liegt daran, dass das Modell versucht hat, die Gleichung y = 2x - 1 zu lernen und dann einen y-Wert für den unbekannten x-Wert 20 vorherzusagen.

Weitere Informationen und Beispiele

Get started with TensorFlow.js https://www.tensorflow.org/js/tutorials
TensorFlow.js demos https://www.tensorflow.org/js/demos
r23
Beiträge: 2698
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Entwickler Blog: TensorFlow.js

Beitrag von r23 »

r23 hat geschrieben: 10.07.2023, 04:51 http://localhost/myoos/node_modules/ in dem Beispiel passe dies bitte an deine Umgebung an.

Der Link sollte auf dein Verzeichnis hinweisen.
Die Node.js Umgebung ist keine gute Idee für unser Projekt. Irgendein unbekanntes JavaScript Paket hat "immer" eine Sicherheitslücke. Unsere Entwicklungsumgebung von GitHub weist oft auf diese Lücken hin. Und Node.js verlangen oft sehr große Webspace Pakte bei einem Provider.

Vor diesem Hintergrund reduziere ich auf eine Browserversion von TensorFlow.js.

Beste Grüße

Ralf
r23
Beiträge: 2698
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Entwickler Blog: TensorFlow.js

Beitrag von r23 »

Hallo,

wie angekündigt gebe ich Node.js auf. Man kann aber später jederzeit selber als Option dies weiterhin verwenden.

Damit man dies einfach hat, liegen die Pakte unter ~/js/npm/

Die Download-Größe von TensorFlow.js hängt davon ab, welche Version und welche Plattform Sie verwenden. Laut der NPM-Seite https://www.npmjs.com/package/@tensorflow/tfjs von TensorFlow.js³sind die ungefähren Größen der verschiedenen Pakete wie folgt:

- `@tensorflow/tfjs`: **1.1 MB** (die Hauptbibliothek für den Browser und Node.js)
- `@tensorflow/tfjs-core`: **0.4 MB** (die Kernbibliothek für niedrigere Abstraktionen)
- `@tensorflow/tfjs-backend-cpu`: **0.2 MB** (der CPU-Backend für TensorFlow.js)
- `@tensorflow/tfjs-backend-webgl`: **0.3 MB** (der WebGL-Backend für den Browser)
- `@tensorflow/tfjs-backend-wasm`: **0.9 MB** (der WebAssembly-Backend für den Browser)
- `@tensorflow/tfjs-node`: **1.4 MB** (die Node.js-Version mit nativen C++-Bindings)
- `@tensorflow/tfjs-node-gpu`: **1.4 MB** (die Node.js-Version mit GPU-Unterstützung)
- `@tensorflow/tfjs-react-native`: **0.8 MB** (die React Native-Version mit expo-gl-Adapter)

Das MyOOS Projekt wird die Browser Version von TensorFlow.js verwenden.
r23
Beiträge: 2698
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: Entwickler Blog: TensorFlow.js

Beitrag von r23 »

Hallo,


im Blog habe ich eine Übersicht von Möglichkeiten von der Verwendung von Tensorflow.js im E-Commerce veröffentlicht.

https://blog.myoos.de/wie-kann-man-tens ... verwenden/

Ich freue mich über Ergänzungen.

Vor allem aber über die konstruktive Mitarbeit an dem Projekt.
Antworten