Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request] Python-like interface for modern C++ #4895

Open
hcho3 opened this issue Sep 25, 2019 · 5 comments
Open

[Feature request] Python-like interface for modern C++ #4895

hcho3 opened this issue Sep 25, 2019 · 5 comments

Comments

@hcho3
Copy link
Collaborator

hcho3 commented Sep 25, 2019

#4894 proposes to expose C++ headers to 3rd-party applications. As an extension of #4894, we should also consider building a Python-like frontend in modern C++. I'm thinking something like https://pytorch.org/cppdocs/frontend.html#end-to-end-example, where PyTorch offers a complete modern C++ API that's at feature parity with the Python package.

In particular, features like early stopping should be available from a C++ application. Early stopping is currently only implemented in the R, Python, and Java wrappers.

Once the C++ frontend is introduced, we can make some stability guarantee about the frontend. That is, the frontend would change more slowly than all other C++ classes (considered "internal").

@trivialfis

@trivialfis
Copy link
Member

Yeah, I love the interface from pytorch. Too bad the torch script is based on Python.

@trivialfis
Copy link
Member

It doesn't necessarily like Python though, we can improve upon it if needed.

@trams
Copy link
Contributor

trams commented Sep 27, 2019

Looks good! I am all for moving common code from python|java|R to C++

@hcho3
Copy link
Collaborator Author

hcho3 commented Sep 27, 2020

To new contributors: it would be great if we can have an experimental prototype for the C++ frontend. For the first pull request, it is okay to have only basic features (load data, train). Post comment here you'd like to work on this feature, so that we can discuss a possible design. I am available for help.

@hcho3
Copy link
Collaborator Author

hcho3 commented Aug 10, 2021

I'd like to get to this issue, hopefully before end of this year.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants