OneFlow is a performance-centered and open-source platform for machine learning.
- Install OneFlow
- Getting Started
- Documentation
- Model Zoo and Benchmark
- Communication
- Contributing
- The Team
- License
- Python >= 3.5
- Nvidia Linux x86_64 driver version >= 440.33
-
To install latest release of OneFlow with CUDA support:
python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu102 --user
-
To install OneFlow with legacy CUDA support, run one of:
python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu101 --user python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu100 --user python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu92 --user python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu91 --user python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu90 --user
-
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. For more information, please refer to CUDA compatibility documentation. -
CPU-only OneFlow is not available for now.
-
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:
sudo yum -y install openblas-devel
-
-
Clone source code and submodules (faster, recommended)
git clone https://github.com/Oneflow-Inc/oneflow cd oneflow git submodule update --init --recursive
Or you could also clone the repo with
--recursive
flag to clone third_party submodules togethergit clone https://github.com/Oneflow-Inc/oneflow --recursive
-
cd build cmake .. make -j$(nproc) make pip_install
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.
- Github issues : any install, bug, feature issues.
- www.oneflow.org : brand related information.
OneFlow was originally developed by OneFlow Inc and Zhejiang Lab.