最近小编发现很多朋友对Python的关注度非常高,也有很多Python初学者在后台留言领取相关学习教程。今天我就结合受欢迎程度、参与度和新近度等指标给大家推荐5个Python开源项目,希望这些开源项目能给大家的工作和学习带来新的启发和帮助。
PyText是一个基于PyTorch构建的基于深度学习的NLP建模框架。它是 Facebook正在使用的主要自然语言处理(NLP)建模框架,目前每天为 Facebook及其应用程序系列的用户提供超过10亿次AI任务处理。PyText解决了实现快速实验和大规模服务模型的冲突问题: 提供简化的工作流程,加速实验。 提供一大批预构建的模型架构和用于文本处理和词汇管理的工具,以促进大规模部署。 提供利用PyTorch生态系统的能力,包括由NLP社区中的研究人员、工程师预构建的模型和工具。
Jax 结合了Autograd和XLA,基于XLA在GPU和TPU上编译和运行 NumPy程序,实现了硬件加速,同样的数学运算,用JAX版的numpy可以加快30-40倍。Jax还可对包含多个numpy运算的函数通过jax.jit()进行 JIT(just-in-time) 编译,进一步加快运算速度。jax.grad()支持自动微分(autodiff),为反向传播(backpropagation)训练模型提供了基础。
Reaver是一个深度强化学习代理,专为训练各种基于星际争霸II的任务设计。主要旨在跟随DeepMind的脚步,通过玩具有类似人类界面和限制的现代视频游戏这一角度切入,推动该领域的最新技术。Reaver背后的理念类似星际争霸II游戏本身——为不同水平玩家提供不同体验。对于业余爱好者程序员,Reaver通过仅修改代理的一小部分来提供训练DRL代理所需的所有工具。对于经验丰富的研究人员,Reaver提供简单但性能优化、模块化架构的代码库,代理,模型和环境是分离的,可以随意置换。
该项目旨在在低分辨率(LR)测量的基础上生成视觉良好的高分辨率(HR)图像,使用2018年美国东北大学提出的残差密集网络进行图像超分辨率,该网络结合残差网络与密集连接网络的特性充分利用原始LR图像的所有分层特征,因而能重构出高质量的图像。项目提供了一个Keras网络实现,并设置了一个Docker镜像来进行训练和测试。只需几个命令,就可以使用AWS和 nvidia-docker在本地或云上进行训练。
BERT是由Google开发的NLP预训练模型,全称 Bidirectional Encoder Representation from Transformers,即对Transformer的双向编码进行调整后的算法。它利用网上公开提供的大量纯文本数据,进行非监督训练。它的神经网络深而窄,可以在无需大幅架构修改的前提下进行双向训练。BERT模型还能够联合神经网络所有层中的上下文来进行训练,且只需微调就可以适应很多类型的NLP任务,可谓是开启了NLP新时代的最强NLP模型。bert-as-service使用BERT作为语句编码器并通过ZeroMQ将其作为服务托管,只用两行代码就可将句子映射到固定长度的表征。