OneFlow
OneFlow 是一个深度学习框架,设计为用户友好、可扩展且高效。使用 OneFlow,您可以轻松地:
- 使用 类似 PyTorch 的 API 编写模型
- 使用 全局张量 将模型扩展到 n 维并行执行
- 使用 图编译器 加速/部署模型。
最新消息
- 版本 1.0.0 已发布!
发表论文
系统要求
通用
- Linux
- Python 3.7, 3.8, 3.9, 3.10, 3.11
CUDA
-
CUDA 架构 60 或以上
-
CUDA Toolkit 版本 10.0 或以上
-
Nvidia 驱动版本 440.33 或以上
OneFlow 可以在最低支持的驱动程序及以上版本上运行。有关更多信息,请参阅 CUDA 兼容性文档。
安装
预安装 Docker 镜像
docker pull oneflowinc/oneflow:nightly-cuda11.8
Pip 安装
-
(强烈推荐) 升级 pip
python3 -m pip install --upgrade pip #--user
-
安装支持 CUDA 的最新稳定版 OneFlow:
python3 -m pip install oneflow
-
安装支持 CPU 的 OneFlow 夜间版:
python3 -m pip install --pre oneflow -f https://oneflow-staging.oss-cn-beijing.aliyuncs.com/branch/master/cpu
-
安装支持 CUDA 的 OneFlow 夜间版:
python3 -m pip install --pre oneflow -f https://oneflow-staging.oss-cn-beijing.aliyuncs.com/branch/master/cu118
如果您在中国,可以运行以下命令,从国内的 pypi 镜像下载软件包:
python3 -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
有关更多信息,请参阅 pypi 镜像使用帮助
从源代码安装
克隆源代码
-
选项 1:从 GitHub 克隆源代码
git clone https://github.com/Oneflow-Inc/oneflow.git
-
选项 2:从阿里云下载(仅限中国)
curl https://oneflow-public.oss-cn-beijing.aliyuncs.com/oneflow-src.zip -o oneflow-src.zip unzip oneflow-src.zip
构建 OneFlow
-
安装依赖
apt install -y libopenblas-dev nasm g++ gcc python3-pip cmake autoconf libtool
这些依赖已预安装在官方 conda 环境和 Docker 镜像中,您可以使用 此处 的官方 conda 环境,或者使用以下命令获取 Docker 镜像:
docker pull oneflowinc/manylinux2014_x86_64_cuda11.2
-
在 OneFlow 源代码的根目录中运行:
mkdir build cd build
-
在
build
目录中配置项目:-
如果您在中国
仅配置 CPU 的命令如下:
cmake .. -C ../cmake/caches/cn/cpu.cmake
配置 CUDA 的命令如下:
cmake .. -C ../cmake/caches/cn/cuda.cmake -DCMAKE_CUDA_ARCHITECTURES=80 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DCUDNN_ROOT_DIR=/usr/local/cudnn
-
如果您不在中国
仅配置 CPU 的命令如下:
cmake .. -C ../cmake/caches/international/cpu.cmake
配置 CUDA 的命令如下:
cmake .. -C ../cmake/caches/international/cuda.cmake -DCMAKE_CUDA_ARCHITECTURES=80 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DCUDNN_ROOT_DIR=/usr/local/cudnn
其中,DCMAKE_CUDA_ARCHITECTURES 宏用于指定 CUDA 架构,DCUDA_TOOLKIT_ROOT_DIR 和 DCUDNN_ROOT_DIR 宏用于指定 CUDA Toolkit 和 CUDNN 的根路径。
-
-
在
build
目录中构建项目,运行:make -j$(nproc)
-
将 OneFlow 添加到您的 PYTHONPATH 中,在
build
目录中运行:source source.sh
请注意,此更改不是永久的。
-
简单验证
python3 -m oneflow --doctor
故障排除
请参阅 故障排除 以了解您在编译和运行 OneFlow 时可能遇到的常见问题。
入门指南
- 请参阅 快速开始
- For English version, please refer to QUICKSTART
文档
模型库和基准测试
- Libai(用于大规模 Transformer 模型的并行训练工具箱)
- FlowVision(计算机视觉数据集、SOTA 模型和工具箱)
- OneFlow-Models(已过时)
- OneFlow-Benchmark(已过时)
交流与沟通
- [GitHub issues](https://github