dmlc / treelite

Universal model exchange and serialization format for decision tree forests
https://treelite.readthedocs.io/en/latest/
Apache License 2.0
730 stars 98 forks source link

How can I complie lgb model in msvc? #461

Closed WanBenLe closed 1 year ago

WanBenLe commented 1 year ago
from pickle import load
from treelite import Model
import lightgbm as lgb
import numpy as np
from numpy.random import rand
from  treelite_runtime import Predictor
mdl = load(open('lgb_model.pkl', 'rb'))
mdl.booster_.save_model('my_model.txt')
model = Model.load('my_model.txt', model_format='lightgbm')
model.export_lib(toolchain='msvc', libpath='.\mymodel.dll', verbose=True,
                 params={'quantize': 1,'annotate_in': 'mymodelannotation.json'})

wil return treelite.util.TreeliteError: [17:14:55] D:\a\treelite\treelite\src\annotator.cc:252: Check failed: doc.IsArray(): JSON file must contain a list of lists of integers

from pickle import load
from treelite import Model
import lightgbm as lgb
import numpy as np
from numpy.random import rand
from  treelite_runtime import Predictor
mdl = load(open('lgb_model.pkl', 'rb'))
mdl.booster_.save_model('my_model.txt')
model = Model.load('my_model.txt', model_format='lightgbm')
model.export_lib(toolchain='msvc', libpath='.\mymodel.dll', verbose=True,
                 params={'quantize': 1})

wil return [17:16:41] D:\a\treelite\treelite\src\compiler\ast_native.cc:711: Using ASTNativeCompiler [17:16:41] D:\a\treelite\treelite\src\compiler\ast\split.cc:24: Parallel compilation disabled; all member trees will be dumped to a single source file. This may increase compilation time and memory usage. [17:16:41] D:\a\treelite\treelite\src\c_api\c_api.cc:92: Code generation finished. Writing code to files... [17:16:41] D:\a\treelite\treelite\src\c_api\c_api.cc:97: Writing file main.c... [17:16:41] D:\a\treelite\treelite\src\c_api\c_api.cc:97: Writing file header.h... [17:16:41] D:\a\treelite\treelite\src\c_api\c_api.cc:97: Writing file recipe.json... [17:16:41] C:\Users\SFC\AppData\Roaming\Python\Python39\site-packages\treelite\contrib__init__.py:267: WARNING: some of the source files are long. Expect long build time. You may want to adjust the parameter parallel_comp.

[17:16:41] C:\Users\SFC\AppData\Roaming\Python\Python39\site-packages\treelite\contrib\util.py:105: Compiling sources files in directory .\tmpwz__alt3 into object files (*.obj)...

Process finished with exit code -1073741571 (0xC00000FD)

my_model.txt