Python-Code wird automatisch in andere Programmiersprachencodes konvertiert

王林
Freigeben: 2023-04-12 12:34:14
nach vorne
2203 Leute haben es durchsucht

Python-Code wird automatisch in andere Programmiersprachencodes konvertiert

Hallo zusammen.

Wenn Python-Code automatisch in andere Programmiersprachen konvertiert werden könnte, würden Sie es versuchen?

Heute werde ich ein interessantes Projekt mit Ihnen teilen, das Python-Code automatisch in C++-Code konvertieren kann. Dies kann für Studierende hilfreich sein, die sich mit Algorithmen beschäftigen.

1. So implementieren Sie

Dieses Projekt ist ein GitHub-Open-Source-Projekt. Nach dem Herunterladen müssen Sie die Abhängigkeiten installieren und das entsprechende Python-Skript ausführen.

python3 python2cppconverter.py
Nach dem Login kopieren

Nehmen Sie den folgenden Python-Code als Beispiel

def add_something(x, y):
print("casually adding some stuff together")
z = x + y
return z
if __name__ == "__main__":
print('Okay, lets go')
print(add_something(5, 2))
Nach dem Login kopieren

Der in C++ konvertierte Code lautet wie folgt:

// C++ Code generated from Python Code:
#include <iostream>
using namespace std;
int add_something(int x, int y) {
cout << "casually adding some stuff together" << endl;
int z = x + y;
return z;
}
int main() {
cout << "Okay, lets go" << endl;
cout << add_something(5, 2) << endl;
return 0;
}
Nach dem Login kopieren

python2cppconverter.py ruft tatsächlich die API von OpenAI auf, um die Codekonvertierung abzuschließen. Der Kerncode lautet wie folgt:

openai.Completion.create(engine='code-davinci-002',
prompt=input_prompt,
temperature=temperature,
max_tokens=num_tokens,
stream=STREAM,
stop='===================n',
top_p=1.0,
frequency_penalty=0.0,
presence_penalty=0.0)
Nach dem Login kopieren

ist im Wesentlichen ein Funktionsaufruf, bei dem der Engine-Parameter das Codekonvertierungsmodell ist.

Bevor wir code-davinci-002 vorstellen, wollen wir zunächst das GPT-3-Modell verstehen.

GPT-3 ist ein von OpenAI im Mai 2020 veröffentlichtes Modell. Dieses Modell enthält 175 Milliarden Parameter, das sind zwei Größenordnungen mehr als GPT-2 und eine große Verbesserung gegenüber GPT-2.

GPT-3 erzielt eine starke Leistung bei vielen NLP-Datensätzen, einschließlich Übersetzungs-, Fragebeantwortungs- und Lückentextaufgaben sowie bei einigen Aufgaben, die spontanes Denken oder Domänenanpassungen erfordern, wie etwa das Entschlüsseln von Wörtern oder das Durchführen arithmetischer Operationen. Das Modell

code-davinci-002 ist ein Nachkomme von GPT-3 und seine Trainingsdaten enthalten natürliche Sprache und Milliarden Zeilen öffentlichen Codes von GitHub. Daher kann es Code verstehen und generieren, beherrscht mehr als ein Dutzend Programmiersprachen und beherrscht Python am besten.

Das Modell code-davinci-002 kann also nicht nur zwischen Programmiersprachen, sondern auch zwischen natürlichen Sprachen konvertieren, Fehler im Code finden, Dokumente basierend auf dem Code schreiben usw.

Das folgende Beispiel dient beispielsweise dazu, eine Textbeschreibung für die Codefunktion zu generieren

Python-Code wird automatisch in andere Programmiersprachencodes konvertiert

Code in natürlicher Sprache

Bedeutet das, dass ich mir in Zukunft keine Gedanken mehr über das Schreiben von Kommentaren machen muss?

Sehen Sie sich das folgende Beispiel an, das einen Docstring für Python-Code generieren kann

Python-Code wird automatisch in andere Programmiersprachencodes konvertiert

docstring

Weitere Beispiele finden Sie auf der offiziellen Website von OpenAI.

2. Eine schlechte Nachricht

Das Gesagte ist schön, aber die Realität ist grausam.

Seitdem ich dieses Projekt heruntergeladen habe, stecke ich bei jedem Schritt fest, seit ich angefangen habe, es auszuführen.

Die oben verwendete OpenAI-API steht inländischen Benutzern nicht zur Verfügung

Python-Code wird automatisch in andere Programmiersprachencodes konvertiert

Sie kann in China nicht verwendet werden

Ich bin sofort hängengeblieben!

Natürlich hat ein inländisches Team für eine Lösung gesorgt. Sie können für 18 Yuan ein fertiges Auslandskonto kaufen, das fast 3 Monate gültig ist und mit 18 $ auf dem Konto ausgestattet ist. Daher ist das Modell von OpenAI kostenpflichtig und überhaupt nicht genau.

Python-Code wird automatisch in andere Programmiersprachencodes konvertiert

Wenn Sie ein Konto kaufen, den API-Schlüssel erhalten, ihn im Projekt konfigurieren, das Projekt ausführen und sich darauf vorbereiten, Zeuge des Wunders des Augenblicks zu werden, werden Sie die folgende Fehlermeldung finden:

No such model: code-davinci-002
Nach dem Login kopieren

Das ist weil Code-Davinci-Modell 002 befindet sich im privaten Test und muss einen Antrag einreichen. Es kann erst aufgerufen werden, nachdem es bestanden wurde.

Abschließend empfehle ich Ihnen nicht, das Code-Davinci-002-Modell auszuführen. Für inländische Freunde sind die Kosten zu hoch. Wenn Sie den Effekt sehen möchten, können Sie auf der offiziellen Website von OpenAI die Dokumentation lesen und einige Beispiele online ausführen.

Obwohl das Projekt nicht erfolgreich lief, hindert uns das nicht daran, die Technologie zu erlernen. Diese Welle der Gewalt wird kein Verlust sein.

Python-Code wird automatisch in andere Programmiersprachencodes konvertiert

Ich hoffe, der heutige Inhalt ist für Sie nützlich. Vielen Dank für Ihre Aufmerksamkeit. Ich werde weiterhin hervorragende KI-Projekte teilen.

Das obige ist der detaillierte Inhalt vonPython-Code wird automatisch in andere Programmiersprachencodes konvertiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage