mltype – Typing practice for programmers

Vor ein paar Monaten habe ich beschlossen, Touch typing zu lernen! Ich weiß, was du denkst … „Bist du eine schnellere Schreibkraft als zuvor und war der ganze Schmerz es wert?“ Ich würde definitiv ja und ja sagen. Das Internet ist jedoch voll von ähnlichen Vorher-Nachher-Testimonials und ich werde keine weitere schreiben.

Worüber ich sprechen möchte, ist, dass ich wirklich überrascht war, wie wenige Ressourcen es gibt, um das Tippen mit Programmiersprachen zu üben. Nach einer schnellen Google-Suche werden Sie wahrscheinlich die folgenden Websites entdecken:

Während die oben genannten Websites mehrere Stärken haben, möchte ich auf einige ihrer Mängel hinweisen

  • Mangel an Variabilität und Überraschungsmoment
  • Manuelle Auswahl der Quelldateien und der entsprechenden Zeilen
  • Nicht anpassbar
  • Nicht kostenlostyping.com )
  • Nicht nerdig genug – wäre es nicht möglich, dies im Terminal zu tun?

Aus den oben genannten Gründen habe ich beschlossen, es zu versuchen und meine eigene Schreibübungssoftware zu schreiben: mltype.

Was macht es?

Kurz gesagt, es ist ein Befehlszeilentool (in Python geschrieben). Es verwendet neuronale Netze, um Text zu generieren, der wie eine Programmiersprache (oder eine normale Sprache) aussieht. Darüber hinaus bietet es nicht-maschinelle Lernfunktionen wie das Lesen von Text aus einer Datei oder Standardeingaben.

Wenn Sie sich fragen, welche Art von „neuronalem Netzwerk“ dahinter steckt, würde ich Sie mehr als ermutigen, die zu lesen Die unangemessene Wirksamkeit wiederkehrender neuronaler Netze von Andrej Karpathy. mltype macht mehr oder weniger dasselbe im Hintergrund. Um genau zu sein, gibt es ein Sprachmodell auf Zeichenebene. Es spuckt eine Wahrscheinlichkeitsverteilung über das nächste Zeichen bei vorherigen Zeichen aus. Am wichtigsten ist, dass versucht wird, die Komplexität und langweiligen Details des Trainings und der Inferenz vor dem Benutzer zu verbergen. Das Generieren von Text aus einem vorhandenen Modell und das Trainieren eines neuen Modells können beide in einem einzigen Befehl erfolgen.

Nachfolgend finden Sie einige Beispiele für verschiedene Programmiersprachen. Alle Modelle, die sie generiert haben, und viele andere vortrainierte Modelle stehen zum Download zur Verfügung (siehe README.md auf github).

Beispiele

C++

Gehen

Python

Willst du es versuchen?

Wenn Sie mehr wissen und es selbst ausprobieren möchten, besuchen Sie die folgenden Links!

  • github: https://github.com/jankrepl/mltype
  • docs: https://mltype.readthedocs.io/en/latest/



+