[v1.9.x] Port #20709 to v1.9.x branch (#20722)

* [v1.x] License updates  (#20709)

* Remove Apache-2.0 license header from ONNX files that were originally BSD 3-clause licensed and properly list then under BSD 3-clause section in LICENSE.

* Remove 3rdparty/mkldnn/src/common/primitive_hashing.hpp from LICENSE under Boost License section, since it is clearly Apache 2.0 licensed.

* Clarify Caffe license to BSD 2-clause with Caffe extensions.

* Clarify Caffe license to BSD 2-clause with Caffe extensions.

* Remove duplicate file, should only be in BSD 3-clause section.

* Update LICENSE with latest from 3rdparty/mkldnn/THIRD-PARTY-PROGRAMS

* Sort files under MIT license. Remove references to generic licenses.

* Remove incorrectly added Apache header on MIT-licensed files.

* Sort lines in ASF-2.0 licensed list.

* Add license text in licenses/ to fulfill binary distribution requirements.

* Remove copyright by contributors line from ASF-licensed file.

* Fix rat-excludes and licensecheck exclude list.

* Error out and fail if license_header.py tool detects multiple licenses in a file.

* Move LayerNormCPUKernel function to own file, since it is licensed under MIT. Update LICENSE to reflect this.

* Remove LayerNormCPUKernel from layer_norm.cc, it is now in layer_norm_cpu.h.

* Add header guard, fix first line to pass lint.

* Update skywalking-eyes config based on current LICENSE, add layer_norm_cpu.h to whitelist.

* Rename license file for layer_norm_cpu.h

* Update mkldnn license text and LICENSE.

* [v1.x] Port #20648, #20676, #19236 to v1.x (#20677)

* [v1.9.x] CI fixes (#20648)

* Update openssl package in ubuntu_core.sh (used in ubuntu 16.04 images) to avoid bug triggered by let's encrypt expired ca cert.

* Reduce number of parallel docker builds we run at once to 2, since there are multiple jobs (on different branches) running at the same time.

* Use different mirror to download binutils to avoid expired let's encrypt CA cert.

* [CI] UPgrade windows CI

* fix python 3.8 ctypes dll load with windows (#19236)

Co-authored-by: barry-jin <barryjin1995@gmail.com>
Co-authored-by: Hu Shiwen <yajiedesign@gmail.com>

* Remove general license text files, as this is included in individual license files in licenses/*. Update license for code contributed/derived from https://github.com/msracver/Deformable-ConvNets which is now MIT licensed and update LICENSE to reflect this. Add references for original code with github revision to MIT-licensed files.

* Fix rat-excludes.

* Update skywalking-eyes config.

Co-authored-by: barry-jin <barryjin1995@gmail.com>
Co-authored-by: Hu Shiwen <yajiedesign@gmail.com>
68 files changed
tree: efbd42c5ea138f872bd81b9276a989c6f7485ea5
  1. .github/
  2. 3rdparty/
  3. amalgamation/
  4. benchmark/
  5. cd/
  6. ci/
  7. cmake/
  8. config/
  9. contrib/
  10. cpp-package/
  11. docker/
  12. docs/
  13. example/
  14. include/
  15. julia/
  16. licenses/
  17. make/
  18. matlab/
  19. perl-package/
  20. plugin/
  21. python/
  22. R-package/
  23. scala-package/
  24. setup-utils/
  25. src/
  26. tests/
  27. tools/
  28. .clang-tidy
  29. .codecov.yml
  30. .gitattributes
  31. .gitignore
  32. .gitmodules
  33. .licenserc.yaml
  34. .mxnet_root
  35. .travis.yml
  36. appveyor.yml
  37. CMakeLists.txt
  38. CODE_OF_CONDUCT.md
  39. CODEOWNERS
  40. CONTRIBUTORS.md
  41. DISCLAIMER
  42. doap.rdf
  43. KEYS
  44. LICENSE
  45. Makefile
  46. mkldnn.mk
  47. MKLDNN_README.md
  48. NEWS.md
  49. NOTICE
  50. pytest.ini
  51. rat-excludes
  52. README.md
  53. readthedocs.yml
  54. SECURITY.md
  55. snap.python
  56. snapcraft.yaml
README.md

banner

Apache MXNet (incubating) for Deep Learning

GitHub release (latest SemVer) GitHub stars GitHub forks GitHub contributors GitHub issues good first issue GitHub pull requests by-label GitHub license Twitter Twitter Follow

Apache MXNet is a deep learning framework designed for both efficiency and flexibility. It allows you to mix symbolic and imperative programming to maximize efficiency and productivity. At its core, MXNet contains a dynamic dependency scheduler that automatically parallelizes both symbolic and imperative operations on the fly. A graph optimization layer on top of that makes symbolic execution fast and memory efficient. MXNet is portable and lightweight, scalable to many GPUs and machines.

MXNet is more than a deep learning project. It is a community on a mission of democratizing AI. It is a collection of blue prints and guidelines for building deep learning systems, and interesting insights of DL systems for hackers.

Licensed under an Apache-2.0 license.

BranchBuild Status
masterCentOS CPU Build Status CentOS GPU Build Status Clang Build Status
Edge Build Status Miscellaneous Build Status Sanity Build Status
Unix CPU Build Status Unix GPU Build Status Website Build Status
Windows CPU Build Status Windows GPU Build Status Documentation Status
v1.xCentOS CPU Build Status CentOS GPU Build Status Clang Build Status
Edge Build Status Miscellaneous Build Status Sanity Build Status
Unix CPU Build Status Unix GPU Build Status Website Build Status
Windows CPU Build Status Windows GPU Build Status Documentation Status

Features

  • NumPy-like programming interface, and is integrated with the new, easy-to-use Gluon 2.0 interface. NumPy users can easily adopt MXNet and start in deep learning.
  • Automatic hybridization provides imperative programming with the performance of traditional symbolic programming.
  • Lightweight, memory-efficient, and portable to smart devices through native cross-compilation support on ARM, and through ecosystem projects such as TVM, TensorRT, OpenVINO.
  • Scales up to multi GPUs and distributed setting with auto parallelism through ps-lite, Horovod, and BytePS.
  • Extensible backend that supports full customization, allowing integration with custom accelerator libraries and in-house hardware without the need to maintain a fork.
  • Support for Python, Java, C++, R, Scala, Clojure, Go, Javascript, Perl, and Julia
  • Cloud-friendly and directly compatible with AWS and Azure.

Contents

What's New

Ecosystem News

Stay Connected

ChannelPurpose
Follow MXNet Development on GithubSee what's going on in the MXNet project.
MXNet Confluence Wiki for Developers MXNet developer wiki for information related to project development, maintained by contributors and developers. To request write access, send an email to send request to the dev list .
dev@mxnet.apache.org mailing listThe “dev list”. Discussions about the development of MXNet. To subscribe, send an email to dev-subscribe@mxnet.apache.org .
discuss.mxnet.io Asking & answering MXNet usage questions.
Apache Slack #mxnet Channel Connect with MXNet and other Apache developers. To join the MXNet slack channel send request to the dev list .
Follow MXNet on Social MediaGet updates about new features and events.

Social Media

Keep connected with the latest MXNet news and updates.

History

MXNet emerged from a collaboration by the authors of cxxnet, minerva, and purine2. The project reflects what we have learned from the past projects. MXNet combines aspects of each of these projects to achieve flexibility, speed, and memory efficiency.

Tianqi Chen, Mu Li, Yutian Li, Min Lin, Naiyan Wang, Minjie Wang, Tianjun Xiao, Bing Xu, Chiyuan Zhang, and Zheng Zhang. MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems. In Neural Information Processing Systems, Workshop on Machine Learning Systems, 2015