冯张驰_申优大作业-DLPy语言设计报告

VIP免费
2025-01-14 3 0 525.78KB 14 页 5.9玖币
侵权投诉
DLPy: 面向深度学习的编程语言
冯张驰
ZY2306121
麻佳炜
ZY2306410
摘要
当下深度学习应用广泛,但相关的编程
Python 存在两个问题:不同框架
torch,tensorflow接口不同且比较复杂;
Python 法。
DLPy 语言这款面向深度学习的轻量级
编程语言,该语言结合了 C语言的一些语
法特性,同时将常见的深度学习模型嵌入
了语言本身而不需要引入任何外部库,为
python
的编程语言解决方案。同时,DLPy 具有良
好的可扩展性,可以比较容易地扩充新文
法。我们在常见的应用场景下进行了测试
代码已开源1
1介绍
1.1 设计背景
近些年来,深度学习和人工智能技术飞速
发展,并在各个行业得到了越来越广泛的应用。
神经网络,特别是卷积神经网络CNN和循
环神经网络RNN在图像识别、自然语言处
理等领域取得了显著成就,此外,生成对抗网
GANTransformer 和强化学习等技术也
在不断进步。AI 技术已经影响到人们日常生活
的诸多方面,从智能个人助手到推荐系统,从
自动驾驶汽车到精准医疗。深度学习在金融
零售、制造业等行业中也越来越受到重视。人
工智能和深度学习被视为推动未来创新的关键
因素,它们在提高生产效率、优化复杂系统、
决难题等方面展现了巨大潜力。当前许多主流
编程语言都可以实现深度学习任务:
1https://github.com/BUAADreamer/DLPy
Java由于其稳定性和可伸缩性,Java
企业环境中广泛使用。它适用于大型、复
杂的深度学习系统,有助于处理大规模数
据。对于深度学习项目来说,语法较为复
杂,开发速度慢于 Python相关的库和社
区支持也较少。
R特别合统析和可视化。R
拥有强大的数据处理和可视化库。性能上
不如编译型语言,且在深度学习方面的库
和资源不如 Python 丰富。
C++:高效率和性能使得一些高性能计
算任务(如深度学习模型的底层开发)倾
于使C++但编复杂高,不
学习。缺乏直接支持深度学习的高级库。
Julia:是一种新兴的高性能科学计算语
言,旨在提供高性能的数值计算。语法简
洁,支持并行和分布式计算。社区和生态
系统相对较小,可用的深度学习库和资源
不如 Python
JavaScript适合在浏览器端运行深度学
习模型,例如使用 TensorFlow.js
需要在浏览器端或客户端运行深度学习模
型的应用来说,JavaScript 正变得越来越
流行。在服务器端的深度学习应用中不如
Python 和其他语言普遍。
MATLAB在学术界和工业界的某些领
域,特别是对于高级数学计算和原型制作,
MATLAB 仍然是一个受欢迎的选择。与
1
Python 等开源语言相比,MATLAB 的用
户社区和可用资源相对较少,在最新深度
学习技术的支持上不全面。
总的来说,即使有多种编程语言选择
Python (Van Rossum et al.,1995)
将强大的功能和简便的使用方式在深度学习领
域占据绝对主导地位Python 拥有一个庞大
而强大的生态系统,这些工具为数据处理、算
法实现、模型训练和结果评估提供了极大的便
利。同时,Python 的简洁语法和易读性使得编
程既直观又容易上手,这对于快速开发和实现
复杂的深度学习模型至关重要。再加上其庞大
的开发者社区,提供了丰富的资源和支持,使
得开发者在遇到挑战时能够轻松找到解决方案
和最佳实践。
然而,即使 Python 具有诸多便利和优势,
深度学习项目的开发仍然常常需要深厚的专业
知识和对多个深度学习库的熟悉度。这些库,
TensorFlow PyTorch虽然功能强大,但它
们的复杂性常常成为开发者的一个障碍,并且
使用不同深度学习库的代码往往不能互通。为
了降低这种复杂性并使深度学习的训练过程更
加简单和高效,需要开发面向深度学习的编程
语言。
此外,C语言作为初学者很多的语言,
多学生迁移python 时会遇到困难。python
没有显式类型,虽然简洁高效,但是对于一
些格式/类型固定的变量,容易在编程时犯错。
python 言,
高,没有语句块。为了使深度学习初学者从 C
语言到 Python 的过渡更加平滑,需要开发一
种类 C文法的编程语言。
结合以上两点需求,我们基于 Python
出了一种新的编程语言 DLPy
1.2 目标用户
我们设计的 DLPy 语言主要面向以下用
户的需求:
非深度学习专业的开发者:这类用户通常
缺乏深度学习的专业背景,需要一种简单、
直观的工具来构建和训练深度学习模型
DLPy 通过提供易于理解的语法和内置
深度学习功能,将帮助他们更快地实现项
目目标,减少学习复杂框架的时间,为那
些希望快速入门并实施深度学习项目的软
件开发者提供支持。
深度学习领域的科研人员:这类用户在数
据分析和深度学习方面拥有专业知识,但
寻求更高效的方式来测试假设和构建模
型。DLPy 将提供高级功能和灵活性,使数
据科学家和研究人员能够快速迭代并优化
他们的模型和算法,为需要快速原型制作
和进行实验的专业人士提供强大的工具。
深度学习教育领域的教师和学生:学生
和教师需要易于上手且教育性强的工具
以便更好地理解深度学习的概念和应用
DLPy 通过提供一个直观且功能齐全的
程环境,这种语言将有助于教育工作者更
有效地传授深度学习原理,同时也让学生
能够通过实践学习,为在教学和学习深度
学习基础过程中的学生和教师提供简单易
用的平台。
1.3 设计概况
DLPy 是基于 Python 设计的特别是用于
简化深度学习训练过程的编程语言,其设计借
鉴和扩展 Python 已有的特性和范型。但考虑
到初学者的易上手性,DLPy 的核心编程范
是面向过程编程(POP
总得来说,DLPy 具备以下特点:
语法简洁、容易入门
C文法、易于过渡
支持函数、算术表达式、常见数据结构
支持控制台输入输出
类型指定和类型自动检查
支持深度学习模型的极简使用
具体来说,首先,DLPy 支持函数定义和
调用,在深度学习中可以用来定义和复用数据
2
处理、训练等过程。DLPy 针对深度学习内置
对张量Tensor常见的神经网络类型和其他
高级数据结构的支持,并具备专门用于定义和
训练深度学习模型的简化语法和运算符,可以
用简短的几行代码实现深度学习的训练和预测
过程。同时,DLPy 支持强制指定类型和类型
自动检查,并定义代码块,使用分号划分语句,
这可以减少以 C语言为基础的初学者在编程
中的错误。
1.4 DLPy 程序示例
DLPy
子。我们的函数定义调用,循环和分支代码都
结合了 python C语言的特点,同时我们也
支持对于最流行的 transformer 型的极简调
用。以下是一个简单的例子
1def func(x){
2return (x+2)*3;
3 }
4 y=func(x);
5print(y);
6 a = 1200;
7 b = 540;
8while a != b {
9if a < b {
10 b = b - a;
11 } else {
12 a = a - b;
13 }
14 }
15 model:transformer=64,8,6:’wiki.txt’;
16 train model 10,2,0.001;
17 pred model ’Soccer is’;
18 save model ’ours’;
有趣的是,DLPy 语言仅需要 4行有效代
码就可以定义一个聊天机器人,以下是我们使
Baichuan2 (Baichuan,
2023)构建聊天机器人的例子。
1 model:transformer=’checkpoints/baichuan2-7
b-chat’:’dataset/wiki.txt’;
2while True{
3 x=scan();
4 chat model x;
5 }
以下是聊天程序运行结果:
1: 聊天机器人运行示例
2 DLPy 文法
本节介绍 DLPy 语言的文法相关设计,
括词法规则和语法规则。
2.1 词法规则
词法分析作为编译过程的第一阶段,其主
要任务是读入源代码的字符流,将它们组合成
为词素,每个词素与一个 token 相对应,用于
后续的语法分析阶段。token 可以分为标识符、
关键字、字面量、运算符等。
1)关键字。 DLPy 语言支持关键字以及
对应的含义总结在表1中。语言
较完善的控制流、逻辑运算和函数定义,并且
可以强制指定变量类型,对神经网络进行保存、
训练预测等操作。
2操作符。DLPy 语言支持的运算符以及
对应 token 类型总结在表2中。参考部分 C
言设计,使用分号隔开语句,并用大括号定义
3
摘要:

DLPy:ë_'Ð¥IñÔýˆfZY2306121�DÍZY2306410K1’/'Ћ¨<WŒM1¥IñÔýPythoniñÙ5‚]Otorch,tensorflow¤g‚] O1 ¯¨¼³1HWa‹PythonÔEb'ÓLCDLPyÔýƒ{ë_'Ð¥ ^)IñÔý¾Ôý²†CÔý¥BtÔE+Ÿ]H|Èn¥'Ð ˜ 3 ÆÔý'&7‚³...

展开>> 收起<<
冯张驰_申优大作业-DLPy语言设计报告.pdf

共14页,预览3页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:计算机 价格:5.9玖币 属性:14 页 大小:525.78KB 格式:PDF 时间:2025-01-14

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 14
客服
关注