MLX Swift

安装 | 文档 | 示例

MLX Swift 是用于 MLX 的 Swift API。

MLX 是用于 Apple 芯片上机器学习的数组框架。MLX Swift 将 MLX 扩展到 Swift 语言,使得在 Apple 芯片上进行研究和实验更加容易。

示例

MLX Swift 有一些示例,包括

MLX Swift 示例仓库包含这些示例的完整代码和文档。

安装

MLX Swift 包可以从 Xcode 或 SwiftPM 构建和运行。也提供了 CMake 安装。

更多详细信息请参阅文档

Xcode

在 Xcode 中,您可以添加 https://github.com/ml-explore/mlx-swift 作为包依赖项,并根据需要链接 MLXMLXNNMLXOptimizersMLXRandom

SwiftPM

要将 MLX 与 SwiftPM 一起使用,您可以将其添加到您的 Package.swift

dependencies: [
    .package(url: "https://github.com/ml-explore/mlx-swift", from: "0.10.0")
]

并将库添加为依赖项

dependencies: [.product(name: "MLX", package: "mlx-swift"),
               .product(name: "MLXRandom", package: "mlx-swift"),
               .product(name: "MLXNN", package: "mlx-swift"),
               .product(name: "MLXOptimizers", package: "mlx-swift"),
               .product(name: "MLXFFT", package: "mlx-swift")]

注意

SwiftPM(命令行)无法构建 Metal 着色器,因此最终构建必须通过 Xcode 完成。

xcodebuild

虽然 SwiftPM(命令行)无法构建 Metal 着色器,但 xcodebuild 可以,并且可以用于执行命令行构建

# build and run tests
xcodebuild test -scheme mlx-swift-Package -destination 'platform=OS X'

# build Tutorial
xcodebuild build -scheme Tutorial -destination 'platform=OS X'

CMake

使用 CMake 构建需要安装 CMake 和 Ninja。您可以使用 Homebrew 来完成此操作

brew install cmake
brew install ninja

使用 CMake

mkdir build
cd build
cmake .. -G Ninja
ninja
./example

贡献

查看贡献指南,了解有关为 MLX 做出贡献的更多信息。有关从源代码构建和运行测试的更多信息,请参阅文档

我们感谢所有贡献者。如果您为 MLX Swift 做出贡献并希望获得致谢,请在您的拉取请求中将您的名字添加到列表中。

MLX Swift 最初由 David Koski 和 Ronan Collobert 开发,现在由 David Koski 维护。MLX Swift 构建于 MLX 之上,MLX 最初由 Awni Hannun、Jagrit Digani、Angelos Katharopoulos 和 Ronan Collobert 共同开发。

版本

MLX 数组函数应与 MLX 的 tag v0.3.0 匹配。MLXNN 包应与 MLX (mlx.nn) 的 tag v0.0.10 匹配。