OneFlow is a performance-centered and open-source deep learning framework.
- Install OneFlow
- Getting Started
- Documentation
- Model Zoo and Benchmark
- Communication
- Contributing
- The Team
- License
-
Python >= 3.5
-
CUDA Toolkit Linux x86_64 Driver
OneFlow CUDA Driver Version oneflow_cu111 >= 450.80.02 oneflow_cu110 >= 450.36.06 oneflow_cu102 >= 440.33 oneflow_cu101 >= 418.39 oneflow_cu100 >= 410.48 oneflow_cpu N/A -
CUDA runtime is statically linked into OneFlow. OneFlow will work on a minimum supported driver, and any driver beyond. For more information, please refer to CUDA compatibility documentation.
-
Support for latest stable version of CUDA will be prioritized. Please upgrade your Nvidia driver to version 440.33 or above and install
oneflow_cu102
if possible. -
We are sorry that due to limits on bandwidth and other resources, we could only guarantee the efficiency and stability of
oneflow_cu102
. We will improve it ASAP.
-
-
To install latest release of OneFlow with CUDA support:
python3 -m pip install --find-links https://release.oneflow.info oneflow_cu102 --user
-
To install master branch release of OneFlow with CUDA support:
python3 -m pip install --find-links https://staging.oneflow.info/branch/master oneflow_cu102 --user
-
To install latest release of CPU-only OneFlow:
python3 -m pip install --find-links https://release.oneflow.info oneflow_cpu --user
-
If 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/simple
For more information on this, please refer to pypi 镜像使用帮助
-
Releases are built with G++/GCC 4.8.5, cuDNN 7 and MKL 2020.0-088.
-
-
Please use a newer version of CMake to build OneFlow. You could download cmake release from here.
-
Please make sure you have G++ and GCC >= 4.8.5 installed. Clang is not supported for now.
-
To install dependencies, run:
yum-config-manager --add-repo https://yum.repos.intel.com/setup/intelproducts.repo && \ rpm --import https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB && \ yum update -y && yum install -y epel-release && \ yum install -y intel-mkl-64bit-2020.0-088 nasm swig rdma-core-devel
On CentOS, if you have MKL installed, please update the environment variable:
export LD_LIBRARY_PATH=/opt/intel/lib/intel64_lin:/opt/intel/mkl/lib/intel64:$LD_LIBRARY_PATH
If you don't want to build OneFlow with MKL, you could install OpenBLAS. On CentOS:
sudo yum -y install openblas-devel
On Ubuntu:
sudo apt install -y libopenblas-dev
-
-
-
git clone https://github.com/Oneflow-Inc/oneflow
-
If you are in China, please download OneFlow source code from: https://oneflow-public.oss-cn-beijing.aliyuncs.com/oneflow-src.zip
curl https://oneflow-public.oss-cn-beijing.aliyuncs.com/oneflow-src.zip -o oneflow-src.zip unzip oneflow-src.zip
-
-
-
-
In the root directory of OneFlow source code, run:
python3 docker/package/manylinux/build_wheel.py
This should produces
.whl
files in the directorywheelhouse
-
If you are in China, you might need to add these flags:
--use_tuna --use_system_proxy --use_aliyun_mirror
-
You can choose CUDA/Python versions of wheel by adding:
--cuda_version=10.1 --python_version=3.6,3.7
-
For more useful flags, plese run the script with flag
--help
or refer to the source code of the script.
-
-
-
In the root directory of OneFlow source code, run:
mkdir build cd build cmake .. make -j$(nproc) make pip_install
-
If you are in China, please add this CMake flag
-DTHIRD_PARTY_MIRROR=aliyun
to speed up the downloading procedure for some dependency tar files. -
For pure CPU build, please add this CMake flag
-DBUILD_CUDA=OFF
.
-
-
Please refer to troubleshooting for common issues you might encounter when compiling and running OneFlow.
-
You can check this doc to obtain more details about how to use XLA and TensorRT with OneFlow.
3 minutes to run MNIST.
- Clone the demo code from OneFlow documentation
git clone https://github.com/Oneflow-Inc/oneflow-documentation.git
cd oneflow-documentation/cn/docs/code/quick_start/
- Run it in Python
python mlp_mnist.py
- Oneflow is running and you got the training loss
2.7290366
0.81281316
0.50629824
0.35949975
0.35245502
...
More info on this demo, please refer to doc on quick start.
For those who would like to understand the OneFlow internals, please read the document below:
- Github issues : any install, bug, feature issues.
- www.oneflow.org : brand related information.
OneFlow was originally developed by OneFlow Inc and Zhejiang Lab.