You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.rst 4.2 kB

1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. ABLkit
  2. ======
  3. .. raw:: html
  4. <img alt="logo" class="align-right" src="_static/img/logo.png" style="width: 140px; height: 135.1px; margin-left: 20px; margin-right: 10px">
  5. <p>
  6. <b>ABLkit</b> is an efficient Python toolkit for <a href="https://www.lamda.nju.edu.cn/publication/chap_ABL.pdf"><b>Abductive Learning (ABL)</b></a>.
  7. </p>
  8. ABL is a novel paradigm that integrates machine learning and
  9. logical reasoning in a unified framework. It is suitable for tasks
  10. where both data and (logical) domain knowledge are available.
  11. .. image:: _static/img/ABL.png
  12. Key Features of ABLkit:
  13. - **High Flexibility**: Compatible with various machine learning modules and logical reasoning components.
  14. - **Easy-to-Use Interface**: Provide **data**, :blue-bold:`model`, and :green-bold:`knowledge`, and get started with just a few lines of code.
  15. - **Optimized Performance**: Optimization for high performance and accelerated training speed.
  16. ABLkit encapsulates advanced ABL techniques, providing users with
  17. an efficient and convenient toolkit to develop dual-driven ABL systems,
  18. which leverage the power of both data and knowledge.
  19. .. image:: _static/img/ABLkit.png
  20. Installation
  21. ------------
  22. Install from PyPI
  23. ^^^^^^^^^^^^^^^^^
  24. The easiest way to install ABLkit is using ``pip``:
  25. .. code:: bash
  26. pip install ablkit
  27. Install from Source
  28. ^^^^^^^^^^^^^^^^^^^
  29. Alternatively, to install from source code,
  30. sequentially run following commands in your terminal/command line.
  31. .. code:: bash
  32. git clone https://github.com/AbductiveLearning/ABLkit.git
  33. cd ABLkit
  34. pip install -v -e .
  35. (Optional) Install SWI-Prolog
  36. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  37. If the use of a :ref:`Prolog-based knowledge base <prolog>` is necessary, the installation of `SWI-Prolog <https://www.swi-prolog.org/>`_ is also required:
  38. For Linux users:
  39. .. code:: bash
  40. sudo apt-get install swi-prolog
  41. For Windows and Mac users, please refer to the `SWI-Prolog Install Guide <https://github.com/yuce/pyswip/blob/master/INSTALL.md>`_.
  42. References
  43. ----------
  44. For more information about ABL, please refer to: `Zhou, 2019 <http://scis.scichina.com/en/2019/076101.pdf>`_
  45. and `Zhou and Huang, 2022 <https://www.lamda.nju.edu.cn/publication/chap_ABL.pdf>`_.
  46. .. code-block:: latex
  47. @article{zhou2019abductive,
  48. title = {Abductive learning: towards bridging machine learning and logical reasoning},
  49. author = {Zhou, Zhi-Hua},
  50. journal = {Science China Information Sciences},
  51. volume = {62},
  52. number = {7},
  53. pages = {76101},
  54. year = {2019}
  55. }
  56. @incollection{zhou2022abductive,
  57. title = {Abductive Learning},
  58. author = {Zhou, Zhi-Hua and Huang, Yu-Xuan},
  59. booktitle = {Neuro-Symbolic Artificial Intelligence: The State of the Art},
  60. editor = {Pascal Hitzler and Md. Kamruzzaman Sarker},
  61. publisher = {{IOS} Press},
  62. pages = {353--369},
  63. address = {Amsterdam},
  64. year = {2022}
  65. }
  66. Citation
  67. --------
  68. To cite ABLkit, please cite the following paper: `Huang et al., 2024 <https://journal.hep.com.cn/fcs/EN/10.1007/s11704-024-40085-7>`_.
  69. .. code-block:: latex
  70. @article{ABLkit2024,
  71. author = {Huang, Yu-Xuan and Hu, Wen-Chao and Gao, En-Hao and Jiang, Yuan},
  72. title = {ABLkit: a Python toolkit for abductive learning},
  73. journal = {Frontiers of Computer Science},
  74. volume = {18},
  75. number = {6},
  76. pages = {186354},
  77. year = {2024}
  78. }
  79. .. toctree::
  80. :maxdepth: 1
  81. :caption: Overview
  82. Overview/Abductive-Learning
  83. Overview/Installation
  84. .. toctree::
  85. :maxdepth: 1
  86. :caption: Introduction to ABLkit
  87. Intro/Basics
  88. Intro/Quick-Start
  89. Intro/Datasets
  90. Intro/Learning
  91. Intro/Reasoning
  92. Intro/Evaluation
  93. Intro/Bridge
  94. .. toctree::
  95. :maxdepth: 1
  96. :caption: Examples
  97. Examples/MNISTAdd
  98. Examples/HWF
  99. Examples/HED
  100. Examples/Zoo
  101. .. toctree::
  102. :maxdepth: 1
  103. :caption: API
  104. API/ablkit.data
  105. API/ablkit.learning
  106. API/ablkit.reasoning
  107. API/ablkit.bridge
  108. API/ablkit.utils
  109. .. toctree::
  110. :maxdepth: 1
  111. :caption: References
  112. References

An efficient Python toolkit for Abductive Learning (ABL), a novel paradigm that integrates machine learning and logical reasoning in a unified framework.