Hello, it’s been weeks that i’ve been trying to install xgboost’s federated plugin, but i always get cmake errors whenever i try to build the plugin. I am trying to use the plugin in order to execute xgboost in the nvidia simulator in a federated way. I am trying to do this in google colab since i have a mac. Is there a comprehensible guide i can follow?
Problem when trying to install federated plugin
In particular, whenever i try to build following the instructions reported here: https://github.com/dmlc/xgboost/tree/master/plugin/federated
i get the following error:
"
CMake Error at plugin/federated/CMakeLists.txt:4 (find_package):
Could not find a package configuration file provided by “Protobuf” with any
of the following names:
ProtobufConfig.cmake
protobuf-config.cmake
Add the installation prefix of “Protobuf” to CMAKE_PREFIX_PATH or set
“Protobuf_DIR” to a directory containing one of the above files. If
“Protobuf” provides a separate development package or SDK, be sure it has
been installed.
"
Any help would be appreciated!
The official Python package already includes the federated plugin. Have you tried using the federated learning example after running pip install xgboost
?
yes, but when i try to run nvflare’s federated xgboost example given here: https://github.com/NVIDIA/NVFlare/tree/main/examples/advanced/xgboost
i get the following error: “xgboost.core.XGBoostError: XGBoost needs to be built with the federated learning plugin enabled in order to use this module”.
So i tried to build it myself using dmlc github xgboost repository.
Are you using Linux with amd64 CPU on Google Colab?
Also make sure you are using the latest version of XGBoost.
Are you building it on a mac? Probably need to follow the instructions to build gRPC first: https://grpc.io/docs/languages/cpp/quickstart/