{ "info": { "author": "Kevin Heinicke ", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Physics", "Topic :: Software Development :: Code Generators" ], "description": "# Generate C++ representations of boosted decision trees\n\nThis project tries to provide a generic functionality to transpile trained BDTs\ninto minimal, efficient C++ functions to evaluate single vectors of features.\n\nWhile many frameworks exist to train, evaluate and store BDTs, its often hard\nto use the results in a productive manner.\n\n## Installation\n\nSo far there is only python3 support. Run\n```\npip install bdt2cpp\n```\nto install the latest tagged version or\n```\npip install git+https://github.com/bixel/bdt2cpp.git\n```\nfor the current master version.\n\n### lxplus\n\nIf you want to use bdt2cpp on CERNs lxplus machines, you need to get hold of\nminimum python3.6. According to [CERNs Service Article\nKB0000730](https://cern.service-now.com/service-portal/article.do?n=KB0000730),\none way to install the tool is:\n\n```sh\n# On lxplus\nscl enable rh-python36\n\n# this will install bdt2cpp to your `~/.local/` directory\npip install --user bdt2cpp\n```\n\n## Usage\n\nTo generate a minimal Makefile together with the C++ code inside a `build/`\ndirectory from a given XGBoost dump or TMVA `.xml` file, simply run\n```\nbdt2cpp my-bdt-dump.xgb\n```\nYou will find the corresponding files within the `build/` directory and if you\nhave installed `clang`, you can simply\n```\ncd build\nmake\n```\n\n*Note for CERN Users*: Currently, the Makefile uses clang as the default\ncompiler. You might need to adjust that in the generated file (inside the\n`build/` directory)\n\nThe generated executable is essentially a very minimal placeholder, if you had\n3 input features you could quickly cross-check the predictions against the\noriginal training framework:\n```\ncd build\n./main 1 2 3\n```\nshould give the same output as received within the training framework if a\nfeature vector `f = (1, 2, 3)` is evaluated.\n\n\nTo see the complete list of features with some explanations, run\n```\nbdt2cpp -h\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bixel/bdt2cpp", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "bdt2cpp", "package_url": "https://pypi.org/project/bdt2cpp/", "platform": "", "project_url": "https://pypi.org/project/bdt2cpp/", "project_urls": { "Homepage": "https://github.com/bixel/bdt2cpp" }, "release_url": "https://pypi.org/project/bdt2cpp/0.2.0/", "requires_dist": [ "jinja2" ], "requires_python": "", "summary": "Transpile BDTs to C++ code.", "version": "0.2.0" }, "last_serial": 5686513, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d28a2ccee3a8acbbdf3db4108376149e", "sha256": "3f3013042b6c206608a321f3776609468cac13f6371d2523d4acc8d7f739e559" }, "downloads": -1, "filename": "bdt2cpp-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d28a2ccee3a8acbbdf3db4108376149e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5182, "upload_time": "2017-10-01T14:39:07", "url": "https://files.pythonhosted.org/packages/28/bc/3170ff3eeca2c4165e62cade2fd565fe08eb111f7e51766472446f4bf06e/bdt2cpp-0.0.1-py2.py3-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "0481ecefb391703a0e760e5b6ad4d820", "sha256": "8fd37e7eda157671fa65a3b91d452f12b2f2a9c9cfe66ce8a3d906ec8f140de7" }, "downloads": -1, "filename": "bdt2cpp-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0481ecefb391703a0e760e5b6ad4d820", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5785, "upload_time": "2017-11-15T09:18:40", "url": "https://files.pythonhosted.org/packages/bc/1c/698efafa70f39a11ed99027aa114c86d0fabd997d393f14c03cde26ed354/bdt2cpp-0.0.2-py2.py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "62eedb3bd6a8eadea354dcb6fd768d5d", "sha256": "096f7259a7e734ef57c06ce9f69941b3b183c03d59993b18505d6d575910a017" }, "downloads": -1, "filename": "bdt2cpp-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "62eedb3bd6a8eadea354dcb6fd768d5d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7651, "upload_time": "2017-11-15T09:26:58", "url": "https://files.pythonhosted.org/packages/3a/62/7badd7854d0230a90340f5f90b49a27a1209fad83faae0f68d8a26ede676/bdt2cpp-0.0.3-py2.py3-none-any.whl" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "a9dcc07b5a6ab802b87c5e94388d148c", "sha256": "426ea9dc2393cb4c76508a6b81dee775391ef4e33d01777982d001dfeb62399a" }, "downloads": -1, "filename": "bdt2cpp-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a9dcc07b5a6ab802b87c5e94388d148c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9628, "upload_time": "2017-12-20T12:55:48", "url": "https://files.pythonhosted.org/packages/82/fd/4dd63efc037c69f9102135d9500e8729e29e7fada520ca036c5adf7fbd1e/bdt2cpp-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a96ee10859a5ad23cfd2392de3a7b6e3", "sha256": "754a8a4692180e5e6e3a7c681ec35b693c607ed45ea09ad3d7f68179a8670390" }, "downloads": -1, "filename": "bdt2cpp-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a96ee10859a5ad23cfd2392de3a7b6e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9622, "upload_time": "2017-12-20T12:55:49", "url": "https://files.pythonhosted.org/packages/0b/20/9480e9c209e519780d95f77333f1ad38add10c5216237f18ebeef0f95772/bdt2cpp-0.1.0-py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7372aefcea41f7d8e1d9f1b0c1095cb3", "sha256": "6cec1e2d80b5325087a273bc4447a4860d9ac73d8400459969149d6ad06992f2" }, "downloads": -1, "filename": "bdt2cpp-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7372aefcea41f7d8e1d9f1b0c1095cb3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10049, "upload_time": "2017-12-30T22:03:29", "url": "https://files.pythonhosted.org/packages/82/d7/e558ee0c721de1b45c7db20ed90fbc7b8da4e05dddaf8ad326e9405caf61/bdt2cpp-0.1.1-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a93c7a2810cad1cb0213dc314afedc71", "sha256": "d39e5fc18433a29b3cb6eaa791c2d7e0a1ce47d4d9b3096cc7c2597e88259060" }, "downloads": -1, "filename": "bdt2cpp-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a93c7a2810cad1cb0213dc314afedc71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10051, "upload_time": "2017-12-30T22:19:48", "url": "https://files.pythonhosted.org/packages/31/55/f43e49ffa607945704f00868b5659810a7a2879aa7d5deba479eafd5fa08/bdt2cpp-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c1d5658197899b9ae3e4728d48cf8ecf", "sha256": "b893b95e1b27c9b9c21a25f282e94c2c7a0b4a197d148ce1caf9f0f5d0239aae" }, "downloads": -1, "filename": "bdt2cpp-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c1d5658197899b9ae3e4728d48cf8ecf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9227, "upload_time": "2018-07-30T12:24:26", "url": "https://files.pythonhosted.org/packages/c3/1d/9e0519abad7bff1350a3e22ed446c6da10f6d3253257a8e3e0bcf86ea11a/bdt2cpp-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d20649c3e5ea16ace0b838db79e13dda", "sha256": "9fc7409e3dbebc1b8dd164883350eeee7ee706ee24feb8e4641bbd0ae8a39f00" }, "downloads": -1, "filename": "bdt2cpp-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d20649c3e5ea16ace0b838db79e13dda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9220, "upload_time": "2018-07-30T12:24:27", "url": "https://files.pythonhosted.org/packages/d2/90/a12832004d0cb4cafdc6839f829fbee50c762365314ecb99f7a53307d45e/bdt2cpp-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d928514e477aef1be418ab6c0a8517f", "sha256": "cc6806d56c8161c8463f2503973583d75cbe2c57040d5bdf8ba7f96f580d06a7" }, "downloads": -1, "filename": "bdt2cpp-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2d928514e477aef1be418ab6c0a8517f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7074, "upload_time": "2018-07-30T12:24:28", "url": "https://files.pythonhosted.org/packages/fa/04/40b9582a51611a9fc8112d644f339be49daefd1aea188990960d23f205f2/bdt2cpp-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "b9420ffea9199775b88c3cf6151e9c06", "sha256": "02565b8c0fe49af7acea61db01ee260617e601cb67f9893327dc653f7d5dcdb6" }, "downloads": -1, "filename": "bdt2cpp-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b9420ffea9199775b88c3cf6151e9c06", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10398, "upload_time": "2019-08-16T08:38:10", "url": "https://files.pythonhosted.org/packages/c1/78/60922f703087dbeae4f714fe2475f80e1e85c0d0b66537e72d4365b1618f/bdt2cpp-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4daaaa8dbf434a8a8298633e318eed2", "sha256": "a711fde6399e7967d8a5c7c389900d5587a8eb79d2f0e79a88c5a7b25b47ff38" }, "downloads": -1, "filename": "bdt2cpp-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e4daaaa8dbf434a8a8298633e318eed2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7236, "upload_time": "2019-08-16T08:38:11", "url": "https://files.pythonhosted.org/packages/be/dd/22ccb395fb7511a05939a769facf6d0936d4c42e8eb753d82a42e7bd9026/bdt2cpp-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b9420ffea9199775b88c3cf6151e9c06", "sha256": "02565b8c0fe49af7acea61db01ee260617e601cb67f9893327dc653f7d5dcdb6" }, "downloads": -1, "filename": "bdt2cpp-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b9420ffea9199775b88c3cf6151e9c06", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10398, "upload_time": "2019-08-16T08:38:10", "url": "https://files.pythonhosted.org/packages/c1/78/60922f703087dbeae4f714fe2475f80e1e85c0d0b66537e72d4365b1618f/bdt2cpp-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4daaaa8dbf434a8a8298633e318eed2", "sha256": "a711fde6399e7967d8a5c7c389900d5587a8eb79d2f0e79a88c5a7b25b47ff38" }, "downloads": -1, "filename": "bdt2cpp-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e4daaaa8dbf434a8a8298633e318eed2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7236, "upload_time": "2019-08-16T08:38:11", "url": "https://files.pythonhosted.org/packages/be/dd/22ccb395fb7511a05939a769facf6d0936d4c42e8eb753d82a42e7bd9026/bdt2cpp-0.2.0.tar.gz" } ] }