Lua 编程中使用了哪些重要的科学库?
虽然我们知道Lua在我们想将其用作嵌入式语言时做得很好,但它也可以超越其基本用途,可以用于机器学习和统计分析等极端情况。
市场上有许多科学图书馆,用于这种利用Lua制作更多内容的特殊情况。让我们探索一下这些库是什么以及它们做了什么。
在同一句话中谈论Lua和机器学习时,我想到的第一个名字是Torch项目。火炬项目是一个科学计算框架,广泛支持将GPU放在首位的机器学习算法。得益于简单快速的脚本语言LuaJIT和底层C/CUDA实现,它易于使用且高效。
Torch项目需要注意的关键点是它使用LuaJIT,它是Lua的即时编译器,这使得使用它提供的向量/矩阵/张量数值库变得更加容易。
另一个可以使用的项目是NumericLua项目。数值Lua项目是Lua编程语言的数值包。它包括对复数、多维矩阵、随机数生成、快速傅立叶变换和特殊函数的支持。该项目包含不同的例程,这些例程只是不同著名机器学习库的Lua包装器。
最后一个绝对属于这个科学图书馆类别的是Lunatic-python项目。在这个项目中,我们有Lua和python之间的双向通信,因此可以利用我们的Lua代码中的python代码中存在的库,反之亦然。
一个简单的用例看起来像这样-
require("python") numpy = python.import("numpy") numpy.array ... etc ..