ins买粉 Facebook研究人员表示他们已经开发出了一种名为TransCoder AI的神经编译器
🟨🟧🟩🟦『https://t.me/socialrogers/』 - 无论使用哪种编程语言,神经编译器都可以将代表相同指令的代码段映射到相同代码段。一位共同作者写道:“TransCoder可以轻松地推广到任何编程语言,不需要任何专业知识就可以将代码从一种编程语言转换为另一种编程语言,并且在很大程度上优于商业解决方案。我们的结果表明,通过向解码器添加简单的约束以确保生成的函数在语法上是正确的,或者通过使用专用架构,可以轻松解决该模型所犯的许多错误。”🟨🟧🟩🟦
将现有的代码库迁移到更现代或更高效的语言需要大量的资源,包括财务和人力。譬如,澳大利亚联邦银行在5年的时间里花费了大约7.5亿澳元,将其平台从COBOL转换为Java。而从理论上讲,转编译器可以则帮助消除从头重写代码所需的费用。但是,由于源语言和目标语言都具有不同的语法、变量类型、标准库函数和平台API,因此这个在实践中其实很难构建。
Migrating an existing code base to a more modern or efficient language requires a lot of resources, including financial and human resources. For example, the Federal Bank of Australia spent about a $750 million in five years converting its platform from COBOL to Java. In theory, transcomplier can help eliminate the cost of rewriting code from scratch. However, because the source language and the target language have different syntax, variable types, standard library functions and platform APIs, it is difficult to build this in practice.
据悉,Facebook的TransCoderAI采用了一种没有监督的学习方法来应对这些挑战。在没有监督的情况下,它能够在没有标签的情况下,在数据集中中找到未检测到的模式,远远高于基于规则数据集的模型。
无论使用哪种编程语言,神经编译器都可以将代表相同指令的代码段映射到相同代码段。一位共同作者写道:“TransCoder可以轻松地推广到任何编程语言,不需要任何专业知识就可以将代码从一种编程语言转换为另一种编程语言,并且在很大程度上优于商业解决方案。我们的结果表明,通过向解码器添加简单的约束以确保生成的函数在语法上是正确的,或者通过使用专用架构,可以轻松解决该模型所犯的许多错误。”
TransCoder AI的准确性
Facebook研究人员在超过280万个开源存储库中的公开代码上对TransCoder AI进行了训练,以专注于功能级别的代码转换。
为了评价TransCoderAI的性能,他们从GeeksforGeeks中选择了852个C型、Java和Python并行函数。GeeksforGeeks是一个在线平台,收集编写代码时的问题,提供多种编程语言的解决方案。
[买ins粉丝网] https://www.mfma.net利用以上两个数据,他们开发了一个名为"计算精度(computational accuracy)"的新指标,用于检查翻译后的函数在输入相同的情况下是否会产生与源语言相同的输出。
结果
这是AI从以下位置转换代码时获得的结果的准确性水平:
C++to Java:74.8%
C++to Python:67.2%
Java to C++:91.6%
Java to Python:68.7%
Python to Java:56.1%
Python to C++:57.8%
研究人员表示,TransCoder AI已经展示出对每种语言(Java、Python和C++)的语法及其数据结构的理解。它甚至能够正确地调整每种语言的库,同时适应小的修改--例如,重命名输入中的一个变量。尽管Transcoder并非十分完美,无法在代码生成过程中考虑某些变量类型。但是,它的性能确实优于已有的利用专家知识手动构建的框架。
Transcoder AI has demonstrated an understanding of the syntax and data structure of each language (Java, python, and C + +), the researchers said. It's even able to adjust libraries for each language correctly, while accommodating small changes -- for example, renaming a variable in input. Although transcoder is not perfect, some variable types cannot be considered in code generation. However, its performance is better than the existing framework built manually by using expert knowledge.
❤️🔥
关于【 视频课程 】社交营销服务列表
- 2022版tiktok|Ins|Facebook|Youtube|教程短视频教学及跨境电商账号运营抖音课程
1
- tiktok|Ins|Facebook|Toutube|教程教学及跨境电商账号运营课程
- 跨境电商账号运营服务列表⚡️⚡️⚡️