37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/lightgbm/booster.rb', line 37
def dump_model(num_iteration: nil, start_iteration: 0)
num_iteration ||= best_iteration
buffer_len = 1 << 20
out_len = ::FFI::MemoryPointer.new(:int64)
out_str = ::FFI::MemoryPointer.new(:char, buffer_len)
feature_importance_type = 0 check_result FFI.LGBM_BoosterDumpModel(handle_pointer, start_iteration, num_iteration, feature_importance_type, buffer_len, out_len, out_str)
actual_len = read_int64(out_len)
if actual_len > buffer_len
out_str = ::FFI::MemoryPointer.new(:char, actual_len)
check_result FFI.LGBM_BoosterDumpModel(handle_pointer, start_iteration, num_iteration, feature_importance_type, actual_len, out_len, out_str)
end
out_str.read_string
end
|