4 个版本 (破坏性)
0.5.0 | 2021 年 11 月 21 日 |
---|---|
0.4.0 | 2020 年 6 月 11 日 |
0.2.0 | 2017 年 10 月 29 日 |
0.1.0 | 2017 年 6 月 12 日 |
#667 in 机器学习
每月 45 次下载
在 7 个crate(直接 2 个) 中使用
1MB
22K 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 后端仍然是 WIP,这将在稍后的时间详细说明。
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 库变体的链接方式由设置 BLAS_STATIC
为 1
或取消设置 BLAS_STATIC
来确定。
ArchLinux 用户
ArchLinux 的 openblas
软件包不包括 LAPACK 符号(参见 FS#66092),因此如果您尝试使用它,将会得到多个未解决的 cblas_*
符号。
将 openblas
替换为 AUR 的 openblas-lapack
软件包以修复问题。