ABLkit ====== .. raw:: html logo

ABLkit is an efficient Python toolkit for Abductive Learning (ABL).

ABL is a novel paradigm that integrates machine learning and logical reasoning in a unified framework. It is suitable for tasks where both data and (logical) domain knowledge are available. .. image:: _static/img/ABL.png Key Features of ABLkit: - **High Flexibility**: Compatible with various machine learning modules and logical reasoning components. - **Easy-to-Use Interface**: Provide **data**, :blue-bold:`model`, and :green-bold:`knowledge`, and get started with just a few lines of code. - **Optimized Performance**: Optimization for high performance and accelerated training speed. ABLkit encapsulates advanced ABL techniques, providing users with an efficient and convenient toolkit to develop dual-driven ABL systems, which leverage the power of both data and knowledge. .. image:: _static/img/ABLkit.png Installation ------------ Install from PyPI ^^^^^^^^^^^^^^^^^ The easiest way to install ABLkit is using ``pip``: .. code:: bash pip install ablkit Install from Source ^^^^^^^^^^^^^^^^^^^ Alternatively, to install from source code, sequentially run following commands in your terminal/command line. .. code:: bash git clone https://github.com/AbductiveLearning/ABLkit.git cd ABLkit pip install -v -e . (Optional) Install SWI-Prolog ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If the use of a :ref:`Prolog-based knowledge base ` is necessary, the installation of `SWI-Prolog `_ is also required: For Linux users: .. code:: bash sudo apt-get install swi-prolog For Windows and Mac users, please refer to the `SWI-Prolog Install Guide `_. References ---------- For more information about ABL, please refer to: `Zhou, 2019 `_ and `Zhou and Huang, 2022 `_. .. code-block:: latex @article{zhou2019abductive, title = {Abductive learning: towards bridging machine learning and logical reasoning}, author = {Zhou, Zhi-Hua}, journal = {Science China Information Sciences}, volume = {62}, number = {7}, pages = {76101}, year = {2019} } @incollection{zhou2022abductive, title = {Abductive Learning}, author = {Zhou, Zhi-Hua and Huang, Yu-Xuan}, booktitle = {Neuro-Symbolic Artificial Intelligence: The State of the Art}, editor = {Pascal Hitzler and Md. Kamruzzaman Sarker}, publisher = {{IOS} Press}, pages = {353--369}, address = {Amsterdam}, year = {2022} } Citation -------- To cite ABLkit, please cite the following paper: `Huang et al., 2024 `_. .. code-block:: latex @article{ABLkit2024, author = {Huang, Yu-Xuan and Hu, Wen-Chao and Gao, En-Hao and Jiang, Yuan}, title = {ABLkit: a Python toolkit for abductive learning}, journal = {Frontiers of Computer Science}, volume = {18}, number = {6}, pages = {186354}, year = {2024} } .. toctree:: :maxdepth: 1 :caption: Overview Overview/Abductive-Learning Overview/Installation .. toctree:: :maxdepth: 1 :caption: Introduction to ABLkit Intro/Basics Intro/Quick-Start Intro/Datasets Intro/Learning Intro/Reasoning Intro/Evaluation Intro/Bridge .. toctree:: :maxdepth: 1 :caption: Examples Examples/MNISTAdd Examples/HWF Examples/HED Examples/Zoo .. toctree:: :maxdepth: 1 :caption: API API/ablkit.data API/ablkit.learning API/ablkit.reasoning API/ablkit.bridge API/ablkit.utils .. toctree:: :maxdepth: 1 :caption: References References