GithubHelp home page GithubHelp logo

pengaoao / oneflow Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oneflow-inc/oneflow

0.0 0.0 0.0 84.3 MB

OneFlow is a deep learning framework designed to be user-friendly, scalable and efficient.

Home Page: http://www.oneflow.org

License: Apache License 2.0

Shell 0.13% C++ 56.71% Python 28.56% C 2.05% Cuda 11.18% CMake 0.56% Dockerfile 0.04% MLIR 0.74% NASL 0.03%

oneflow's Introduction

OneFlow

OneFlow is a deep learning framework designed to be user-friendly, scalable and efficient. With OneFlow, it is easy to:

Simple CI Nightly Docker Image Nightly Release Documentation

Latest News

Publication

System Requirements

General

  • Linux
  • Python 3.7, 3.8, 3.9, 3.10, 3.11

CUDA

  • 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.

Install

Preinstall docker image

docker pull oneflowinc/oneflow:nightly-cuda11.8

Pip Install

  • (Highly recommended) Upgrade pip

    python3 -m pip install --upgrade pip #--user
    
  • To install latest stable release of OneFlow with CUDA support:

    python3 -m pip install oneflow
  • To 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/cpu
  • To 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/cu118

    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 镜像使用帮助

Install from Source

Clone Source Code
  • Option 1: Clone source code from GitHub

    git clone https://github.com/Oneflow-Inc/oneflow.git
  • Option 2: Download from Aliyun(Only available in China)

    curl https://oneflow-public.oss-cn-beijing.aliyuncs.com/oneflow-src.zip -o oneflow-src.zip
    unzip oneflow-src.zip
Build OneFlow
  • Install dependencies

    apt install -y libopenblas-dev nasm g++ gcc python3-pip cmake autoconf libtool
    

    These 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.2
  • In the root directory of OneFlow source code, run:

    mkdir build
    cd build
    
  • Config the project, inside build directory:

    • If you are in China

      config for CPU-only like this:

      cmake .. -C ../cmake/caches/cn/cpu.cmake
      

      config 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/cudnn
      
    • If you are not in China

      config for CPU-only like this:

      cmake .. -C ../cmake/caches/international/cpu.cmake
      

      config 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/cudnn
      

      Here 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.sh
    

    Please note that this change is not permanent.

  • Simple validation

    python3 -m oneflow --doctor
    

Troubleshooting

Please refer to troubleshooting for common issues you might encounter when compiling and running OneFlow.

Getting Started

Documentation

Model Zoo and Benchmark

Communication

The Team

OneFlow was originally developed by OneFlow Inc and Zhejiang Lab.

License

Apache License 2.0

oneflow's People

Contributors

willzhang4a58 avatar lixinqi avatar jackalcooper avatar liujuncheng avatar chengtbf avatar bbuf avatar daquexian avatar leaves-zwx avatar guo-ran avatar clackhan avatar flowingsun007 avatar hjchen2 avatar scxfjiang avatar mard1no avatar wyg1997 avatar wind5 avatar liufengwei0103 avatar strint avatar junior-talk avatar ouyangyu avatar yuanms2 avatar shawnxuan avatar dounm avatar zyeric avatar marigoold avatar simonjjj avatar ldpe2g avatar mosout avatar duduscript avatar lixiang007666 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.