偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python代碼自動(dòng)轉(zhuǎn)成其他編程語(yǔ)言代碼

開發(fā) 后端
今天給大家分享一個(gè)有意思的項(xiàng)目,它能將Python代碼自動(dòng)轉(zhuǎn)成C++代碼。這或許對(duì)搞算法的同學(xué)有點(diǎn)幫助。

哈嘍,大家好。

如果將Python代碼自動(dòng)轉(zhuǎn)成其他編程語(yǔ)言,你會(huì)嘗試嗎?

今天給大家分享一個(gè)有意思的項(xiàng)目,它能將Python代碼自動(dòng)轉(zhuǎn)成C++代碼。這或許對(duì)搞算法的同學(xué)有點(diǎn)幫助。

1. 如何實(shí)現(xiàn)

該項(xiàng)目是 GitHub 開源項(xiàng)目,使用非常簡(jiǎn)單,下載后安裝依賴,運(yùn)行對(duì)應(yīng)的Python腳本即可。

python3 python2cppconverter.py

以下面的 Python 代碼為例

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))

轉(zhuǎn)換成 C++ 代碼如下:

// 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;
}

python2cppconverter.py實(shí)際上是調(diào)用OpenAI的API來(lái)完成代碼轉(zhuǎn)換。核心代碼如下:

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)

本質(zhì)上就是一個(gè)函數(shù)調(diào)用,其中engine參數(shù)是代碼轉(zhuǎn)換模型。

介紹code-davinci-002之前,先來(lái)了解下GPT-3模型。

GPT-3是OpenAI在 2020年 5 月發(fā)布的一個(gè)模型,這個(gè)模型包含1750億的參數(shù),比GPT-2多了兩個(gè)數(shù)量級(jí),比GPT-2有了極大的改進(jìn)。

GPT-3 在許多 NLP 數(shù)據(jù)集上實(shí)現(xiàn)了強(qiáng)大的性能,包括翻譯、問答和完形填空任務(wù),以及一些需要即時(shí)推理或領(lǐng)域適應(yīng)的任務(wù),例如解讀單詞或執(zhí)行算術(shù)運(yùn)算。

code-davinci-002模型是GPT-3的后代,它的訓(xùn)練數(shù)據(jù)包含自然語(yǔ)言和來(lái)自 GitHub 的數(shù)十億行公共代碼。因此,它可以理解和生成代碼,精通十多種編程語(yǔ)言,最擅長(zhǎng)Python。

所以,code-davinci-002模型不止能實(shí)現(xiàn)編程語(yǔ)言之間相互轉(zhuǎn)換,還可以與自然語(yǔ)言互轉(zhuǎn)、找代碼中的BUG、根據(jù)代碼編寫文檔等。

比如下面的例子就是為代碼功能生成文字性描述

代碼轉(zhuǎn)自然語(yǔ)言

是不是以后就不用愁寫注釋了?

再看看下面這個(gè)例子,可以為Python代碼生成docstring

docstring

其他例子大家可以看OpenAI官網(wǎng)。

2. 一個(gè)壞消息

上面說(shuō)得很美好,然而現(xiàn)實(shí)很殘酷。

我自從下載了這個(gè)項(xiàng)目,從開始運(yùn)行就一步一個(gè)坑。

上面用到的OpenAI API,并不對(duì)國(guó)內(nèi)開放,國(guó)內(nèi)的朋友申請(qǐng)使用時(shí)會(huì)看到下面的提示

國(guó)內(nèi)無(wú)法使用

上來(lái)就被卡脖子了!

當(dāng)然,國(guó)內(nèi)有團(tuán)隊(duì)提供了解決方案,花 18 元可以買一個(gè)現(xiàn)成的國(guó)外賬號(hào),有效期將近 3 個(gè)月,賬號(hào)內(nèi)自帶 18 美元。所以,OpenAI的模型是收費(fèi)的,一點(diǎn)不清真。

當(dāng)你買了賬號(hào),獲取了API key,把它配置到項(xiàng)目中,運(yùn)行項(xiàng)目,準(zhǔn)備見證時(shí)刻的奇跡時(shí),會(huì)發(fā)現(xiàn)如下報(bào)錯(cuò):

No such model: code-davinci-002

這是因?yàn)閏ode-davinci-002模型處于私有測(cè)試中,需要提交申請(qǐng),通過(guò)后才能調(diào)用。

最后,我不建議大家運(yùn)行code-davinci-002模型,對(duì)國(guó)內(nèi)朋友來(lái)說(shuō),成本太高了。如果想看效果,可以到OpenAI官網(wǎng)看看文檔、在線運(yùn)行一些example即可。

雖然項(xiàng)目沒有成功運(yùn)行起來(lái),但這并不妨礙我們學(xué)習(xí)技術(shù),這波強(qiáng)行不虧。

希望今天的內(nèi)容對(duì)你有用,感謝你的關(guān)注,我將持續(xù)分享優(yōu)秀的 AI 項(xiàng)目。

責(zé)任編輯:龐桂玉 來(lái)源: Python客棧
相關(guān)推薦

2015-03-06 17:36:46

Folders編程語(yǔ)言

2010-03-11 15:16:52

Python編程語(yǔ)言

2010-07-16 14:22:25

Python teln

2010-03-11 14:13:20

Python編程

2018-07-23 08:19:26

編程語(yǔ)言Python工具

2021-11-02 15:49:46

低代碼編程Power Fx微軟

2018-10-15 15:42:04

開發(fā)工具編程語(yǔ)言源代碼

2021-12-14 10:08:57

編程語(yǔ)言PythonJava

2021-03-04 08:41:02

微軟Powr Fx低代碼

2017-04-06 16:20:27

Python趣味代碼編程

2024-06-19 08:49:48

2021-06-30 14:29:56

GitHub 編程工具AI

2024-01-22 08:20:40

Python編程語(yǔ)言代碼陷阱

2014-03-31 15:26:45

Git代碼托管

2022-09-20 12:53:15

編程語(yǔ)言漏洞

2023-11-21 15:59:34

C語(yǔ)言Windows

2018-01-10 22:19:44

2021-02-01 11:03:36

Python開發(fā)郵件

2010-03-19 09:39:17

Python編程語(yǔ)言

2025-05-19 09:10:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)