OneFlow 是一个 深度学习 框架,旨在实现用户友好、可扩展和高效。
OneFlow is a deep learning framework designed to be user-friendly, scalable and efficient. With OneFlow, it is easy to:
CUDA arch 60 or above
CUDA Toolkit version 10.0 or above
Nvidia driver version 440.33 or above
OneFlow will work on a minimum supported driver, and any driver beyond. For more information, please refer to CUDA compatibility documentation.
docker pull oneflowinc/oneflow:nightly-cuda11.8(Highly recommended) Upgrade pip
python3 -m pip install --upgrade pip #--userTo install latest stable release of OneFlow with CUDA support:
python3 -m pip install oneflowTo install nightly release of OneFlow with CPU-only support:
python3 -m pip install --pre oneflow -f https://oneflow-staging.oss-cn-beijing.aliyuncs.com/branch/master/cpuTo install nightly release of OneFlow with CUDA support:
python3 -m pip install --pre oneflow -f https://oneflow-staging.oss-cn-beijing.aliyuncs.com/branch/master/cu118If you are in China, you could run this to have pip download packages from domestic mirror of pypi:
python3 -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simpleFor more information on this, please refer to pypi 镜像使用帮助
git clone https://github.com/Oneflow-Inc/oneflow.gitcurl https://oneflow-public.oss-cn-beijing.aliyuncs.com/oneflow-src.zip -o oneflow-src.zip
unzip oneflow-src.zipInstall dependencies
apt install -y libopenblas-dev nasm g++ gcc python3-pip cmake autoconf libtoolThese dependencies are preinstalled in offical conda environment and docker image, you can use the offical conda environment here or use the docker image by:
docker pull oneflowinc/manylinux2014_x86_64_cuda11.2In the root directory of OneFlow source code, run:
mkdir build
cd buildConfig the project, inside build directory:
If you are in China
config for CPU-only like this:
cmake .. -C ../cmake/caches/cn/cpu.cmakeconfig for CUDA like this:
cmake .. -C ../cmake/caches/cn/cuda.cmake -DCMAKE_CUDA_ARCHITECTURES=80 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DCUDNN_ROOT_DIR=/usr/local/cudnnIf you are not in China
config for CPU-only like this:
cmake .. -C ../cmake/caches/international/cpu.cmakeconfig for CUDA like this:
cmake .. -C ../cmake/caches/international/cuda.cmake -DCMAKE_CUDA_ARCHITECTURES=80 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DCUDNN_ROOT_DIR=/usr/local/cudnnHere the DCMAKE_CUDA_ARCHITECTURES macro is used to specify the CUDA architecture, and the DCUDA_TOOLKIT_ROOT_DIR and DCUDNN_ROOT_DIR macros are used to specify the root path of the CUDA Toolkit and CUDNN.
Build the project, inside build directory, run:
make -j$(nproc)Add oneflow to your PYTHONPATH, inside build directory, run:
source source.shPlease note that this change is not permanent.
Simple validation
python3 -m oneflow --doctorPlease refer to troubleshooting for common issues you might encounter when compiling and running OneFlow.
GitHub issues: any install, bug, feature issues.
www.oneflow.org: brand related information.
OneFlow was originally developed by OneFlow Inc and Zhejiang Lab.
CPU greater and greater_equal 在涉及 NaN 的比较中错误地返回 True
RuntimeError: 此包是一个占位符。请按照说明安装 oneflow
[错误] 使用错误目标形状的 CrossEntropyLoss 会终止进程 (C++ CHECK),而不是引发 Python 错误
[错误] 使用无效索引 (-1) 的 MaxUnpool2d 会导致进程崩溃,而不是引发 Python 错误
在 Eager 模式中添加 Tensor 和 nn.Linear 模组时出现分段错误 (核心已转储)
在 randperm 和 Tensor 重塑时,在索引超出范围时发生致命中止并生成核心内存丢失
在图形模式下,在前向传递中向 `nn.ModuleDict` 添加动态模块时出现 NameError
在图形模式下,在 `nn.ParameterList` 上执行切片操作时发生 AssertionError
在图形模式下使用自定义张量子类时出现 RuntimeError
在图形模式中,使用 flow.unique 运算符时出现 RuntimeError