Le code Python est automatiquement converti en codes d'autres langages de programmation

王林
Libérer: 2023-04-12 12:34:14
avant
2202 Les gens l'ont consulté

Le code Python est automatiquement converti en codes d'autres langages de programmation

Bonjour à tous.

Si le code Python pouvait être automatiquement converti dans d'autres langages de programmation, l'essayeriez-vous ?

Aujourd'hui, je vais partager avec vous un projet intéressant, qui peut convertir automatiquement le code Python en code C++. Cela peut être utile aux étudiants qui s’intéressent aux algorithmes.

1. Comment implémenter

Ce projet est un projet open source GitHub Il est très simple à utiliser. Après avoir téléchargé, installez les dépendances et exécutez le script Python correspondant.

python3 python2cppconverter.py
Copier après la connexion

Prenons le code Python suivant comme exemple

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))
Copier après la connexion

Le code converti en C++ est le suivant :

// 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;
}
Copier après la connexion

python2cppconverter.py appelle en fait l'API d'OpenAI pour terminer la conversion de code. Le code de base est le suivant :

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)
Copier après la connexion

est essentiellement un appel de fonction, où le paramètre du moteur est le modèle de conversion de code.

Avant d'introduire le code-davinci-002, comprenons d'abord le modèle GPT-3.

GPT-3 est un modèle publié par OpenAI en mai 2020. Ce modèle contient 175 milliards de paramètres, soit deux ordres de grandeur de plus que GPT-2 et constitue une grande amélioration par rapport à GPT-2.

GPT-3 atteint de solides performances sur de nombreux ensembles de données PNL, y compris les tâches de traduction, de réponse aux questions et de clonage, ainsi que certaines tâches qui nécessitent un raisonnement à la volée ou une adaptation de domaine, comme le déchiffrement de mots ou l'exécution d'opérations arithmétiques. Le modèle

code-davinci-002 est un descendant de GPT-3 et ses données de formation contiennent du langage naturel et des milliards de lignes de code public de GitHub. Par conséquent, il peut comprendre et générer du code, maîtrise plus d’une douzaine de langages de programmation et est le meilleur en Python.

Ainsi, le modèle code-davinci-002 peut non seulement convertir entre langages de programmation, mais également convertir entre langages naturels, trouver des bogues dans le code, écrire des documents basés sur le code, etc.

Par exemple, l'exemple suivant consiste à générer une description textuelle pour la fonction de code

Le code Python est automatiquement converti en codes d'autres langages de programmation

Code en langage naturel

Est-ce que cela signifie que je n'ai pas à me soucier d'écrire des commentaires à l'avenir ?

Regardez l'exemple ci-dessous, qui peut générer une docstring pour le code Python

Le code Python est automatiquement converti en codes d'autres langages de programmation

docstring

Pour d'autres exemples, vous pouvez consulter le site officiel d'OpenAI.

2. Une mauvaise nouvelle

Ce qui précède est beau, mais la réalité est cruelle.

Depuis que j'ai téléchargé ce projet, j'ai rencontré des problèmes à chaque étape du processus.

L'API OpenAI utilisée ci-dessus n'est pas ouverte aux utilisateurs nationaux. Les amis nationaux verront l'invite suivante lorsqu'ils demanderont à l'utiliser

Le code Python est automatiquement converti en codes d'autres langages de programmation

Elle ne peut pas être utilisée en Chine

Je suis resté bloqué dès que je suis arrivé !

Bien sûr, une équipe nationale a proposé une solution. Vous pouvez acheter un compte étranger prêt à l'emploi pour 18 yuans, valable près de 3 mois et doté de 18 $ sur le compte. Par conséquent, le modèle d’OpenAI est payant et pas du tout précis.

Le code Python est automatiquement converti en codes d'autres langages de programmation

Lorsque vous achetez un compte, obtenez la clé API, la configurez dans le projet, exécutez le projet et vous préparez à assister au miracle du moment, vous trouverez l'erreur suivante :

No such model: code-davinci-002
Copier après la connexion

C'est car le code-davinci- Model 002 est en test privé et doit soumettre une candidature. Il ne peut être appelé qu'après l'avoir réussi.

Enfin, je ne vous recommande pas d'exécuter le modèle code-davinci-002. Pour les amis domestiques, le coût est trop élevé. Si vous voulez voir l'effet, vous pouvez accéder au site officiel d'OpenAI pour lire la documentation et exécuter quelques exemples en ligne.

Bien que le projet n'ait pas abouti, cela ne nous empêche pas d'apprendre la technologie. Cette vague de force ne sera pas une perte.

Le code Python est automatiquement converti en codes d'autres langages de programmation

J'espère que le contenu d'aujourd'hui vous sera utile, merci pour votre attention, je continuerai à partager d'excellents projets d'IA.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal