try python
This commit is contained in:
parent
c1223bfdef
commit
2305ea7af7
27
python/Makefile
Normal file
27
python/Makefile
Normal file
@ -0,0 +1,27 @@
|
||||
export CC = gcc
|
||||
export CXX = g++
|
||||
export CFLAGS = -Wall -O3 -msse2 -Wno-unknown-pragmas -fopenmp
|
||||
|
||||
# specify tensor path
|
||||
SLIB = xgboostpy.so
|
||||
OBJ = xgboost_python.o
|
||||
.PHONY: clean all
|
||||
|
||||
all: $(SLIB)
|
||||
export LDFLAGS= -pthread -lm
|
||||
|
||||
xgboostpy.so: xgboost_python.cpp ../regrank/*.h ../booster/*.h ../booster/*/*.hpp ../booster/*.hpp
|
||||
|
||||
$(SLIB) :
|
||||
$(CXX) $(CFLAGS) $(LDFLAGS) -shared -o $@ $(filter %.cpp %.o %.c, $^)
|
||||
$(BIN) :
|
||||
$(CXX) $(CFLAGS) $(LDFLAGS) -o $@ $(filter %.cpp %.o %.c, $^)
|
||||
|
||||
$(OBJ) :
|
||||
$(CXX) -c $(CFLAGS) -o $@ $(firstword $(filter %.cpp %.c, $^) )
|
||||
|
||||
install:
|
||||
cp -f -r $(BIN) $(INSTALL_PATH)
|
||||
|
||||
clean:
|
||||
$(RM) $(OBJ) $(BIN) $(SLIB) *~
|
||||
2
python/README.md
Normal file
2
python/README.md
Normal file
@ -0,0 +1,2 @@
|
||||
beta version:
|
||||
python wrapper for xgboost using ctypes
|
||||
15
python/xgboost.py
Normal file
15
python/xgboost.py
Normal file
@ -0,0 +1,15 @@
|
||||
# module for xgboost
|
||||
import ctypes
|
||||
|
||||
# load in xgboost library
|
||||
#xglib = ctypes.cdll.LoadLibrary('./libxgboostpy.so')
|
||||
|
||||
# entry type of sparse matrix
|
||||
class REntry(ctypes.Structure):
|
||||
_fields_ = [("findex", ctypes.c_uint), ("fvalue", ctypes.c_float) ]
|
||||
|
||||
|
||||
class DMatrix:
|
||||
def __init__(fname = None):
|
||||
self.__handle = xglib.
|
||||
|
||||
12
python/xgboost_python.cpp
Normal file
12
python/xgboost_python.cpp
Normal file
@ -0,0 +1,12 @@
|
||||
#include "xgboost_python.h"
|
||||
|
||||
void* XGDMatrixCreate(void){
|
||||
return NULL;
|
||||
}
|
||||
void XGDMatrixFree(void *handle){
|
||||
}
|
||||
void XGDMatrixLoad(void *handle, const char *fname){
|
||||
}
|
||||
void XGDMatrixSaveBinary( void *handle, const char *fname ){
|
||||
}
|
||||
|
||||
43
python/xgboost_python.h
Normal file
43
python/xgboost_python.h
Normal file
@ -0,0 +1,43 @@
|
||||
#ifndef XGBOOST_PYTHON_H
|
||||
#define XGBOOST_PYTHON_H
|
||||
/*!
|
||||
* \file xgboost_regrank_data.h
|
||||
* \brief python wrapper for xgboost, using ctypes,
|
||||
* hides everything behind functions
|
||||
* use c style interface
|
||||
*/
|
||||
#include "../booster/xgboost_data.h"
|
||||
/*! \brief type of row entry */
|
||||
typedef xgboost::booster::FMatrixS::REntry XGEntry;
|
||||
|
||||
/*!
|
||||
* \brief create a data matrix
|
||||
* \return a new data matrix
|
||||
*/
|
||||
void* XGDMatrixCreate(void);
|
||||
/*!
|
||||
* \brief free space in data matrix
|
||||
*/
|
||||
void XGDMatrixFree(void *handle);
|
||||
/*!
|
||||
* \brief load a data matrix from text file or buffer(if exists)
|
||||
* \param handle a instance of data matrix
|
||||
* \param fname file name
|
||||
*/
|
||||
void XGDMatrixLoad(void *handle, const char *fname);
|
||||
/*!
|
||||
* \brief load a data matrix into binary file
|
||||
* \param handle a instance of data matrix
|
||||
* \param fname file name
|
||||
*/
|
||||
void XGDMatrixSaveBinary( void *handle, const char *fname );
|
||||
/*!
|
||||
* \brief add row
|
||||
* \param handle a instance of data matrix
|
||||
* \param fname file name
|
||||
* \return a new data matrix
|
||||
*/
|
||||
//void XGDMatrixPush( void *handle, const std::pair<int,> );
|
||||
|
||||
#endif
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user