MLX Swift 是用于 MLX 的 Swift API。
MLX 是用于 Apple 芯片上机器学习的数组框架。MLX Swift 将 MLX 扩展到 Swift 语言,使得在 Apple 芯片上进行研究和实验更加容易。
MLX Swift 有一些示例,包括
MLX Swift 示例仓库包含这些示例的完整代码和文档。
MLX
Swift 包可以从 Xcode 或 SwiftPM 构建和运行。也提供了 CMake 安装。
更多详细信息请参阅文档。
在 Xcode 中,您可以添加 https://github.com/ml-explore/mlx-swift
作为包依赖项,并根据需要链接 MLX
、MLXNN
、MLXOptimizers
和 MLXRandom
。
要将 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 完成。
虽然 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 和 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 匹配。