4 个版本 (重大更新)
0.6.0 | 2021年11月21日 |
---|---|
0.5.0 | 2020年6月11日 |
0.3.0 | 2020年1月17日 |
0.2.0 | 2017年6月12日 |
#440 in 机器学习
每月下载量 57 次
在 6 个crate中使用了 (直接使用3个)
375KB
11K SLoC
Juice
这是
- juice - 为黑客提供的机器学习框架的工作区项目
- coaster - 基础数学抽象
- coaster-nn
- coaster-blas
- greenglas - 数据预处理框架
- juice-examples - mnist 示例
请查阅各个 README.md 文件以获取更多信息。
Juice 示例
运行 juice 示例的 CLI。更多示例和基准测试可以在 juice 示例目录 中找到。
安装 CLI
免责声明:目前示例需要 CUDA 和 cuDNN 才能构建。
编译并调用构建。
# install rust, if you need to
curl -sSf https://static.rust-lang.org/rustup.sh | sh
# download the code
git clone [email protected]:spearow/juice.git && cd juice/juice-examples
# build the binary
cargo build --release
# and you should see the CLI help page
../target/release/juice-examples --help
# which means, you can run the examples from the juice-examples README
依赖关系
Cap'n'Proto
capnproto 是一种数据交换格式,用于存储和加载 Juice 中的带权网络。
capnproto
和 capnproto-libs
以及它们的发展包是您从包管理器中需要的。
Cuda
获取 cuda 库是许多用户面临的第一道难关。
要使事情正常工作,需要设置以下环境变量
# examplary paths, unlikely to work for your local setup!
export CUDNN_INCLUDE_DIR=/opt/cuda/include
export CUDNN_LIB_DIR=/opt/cuda/targets/x86_64-linux/lib/
export CUBLAS_INCLUDE_DIR=/opt/cuda/include
export CUBLAS_LIB_DIR=/opt/cuda/targets/x86_64-linux/lib/
取决于您的本地安装设置。
目前支持的 cuda 版本是 cuda-11
(详情见 #114 和 #115)
请注意,要运行 cuda 后端,您需要一个功能强大的 nvidia 设备。
OpenCL
您需要适当的加载器和设备库。由于 OpenCL 后端仍在开发中,这将在以后详细说明。
BLAS
Blas 是 native
后端使用的线性代数库。
需要存在 openblas
或 blas
。通过 BLAS_VARIANT
显式选择。
默认情况下,会尝试通过 pkg-config
解决库。
支持通过以下方式覆盖:
# examplary paths, unlikely to work for your local setup!
export BLAS_LIB_DIR=/opt/blas/lib64/
export BLAS_INCLUDE_DIR=/opt/blas/include/
也是支持的。
通过将 BLAS_STATIC
设置为 1
或取消设置 BLAS_STATIC
来确定 blas 库变体的链接方式。
ArchLinux 用户
ArchLinux 的 openblas
软件包不包括 LAPACK 符号(参见 FS#66092),因此如果您尝试使用它,将会遇到多个 cblas_*
无法解析的符号。
将 openblas
替换为 AUR 的 openblas-lapack
软件包以修复。
依赖关系
~0.4–1MB
~21K SLoC