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 --userTo 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 --userSupport for latest stable version of CUDA will be prioritized. Please upgrade your Nvidia driver to version 440.33 or above and install
oneflow_cu102if 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-develOn 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_PATHIf 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 --recursiveOr you could also clone the repo with
--recursiveflag to clone third_party submodules togethergit clone https://github.com/Oneflow-Inc/oneflow --recursivecd 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.