Customizing the transpilation of model verification data
ahmed-shariff opened this issue · 2 comments
ahmed-shariff commented
When I am trying to add execute the transpiler I get the following error:
/PMML$708533063.java:126: error: code too large
private final static ModelVerification buildModelVerification$4766562() {
^
1 error
java.io.IOException
at org.jpmml.codemodel.CompilerUtil.compile(CompilerUtil.java:81)
at org.jpmml.codemodel.CompilerUtil.compile(CompilerUtil.java:56)
at org.jpmml.codemodel.CompilerUtil.compile(CompilerUtil.java:49)
at org.jpmml.transpiler.TranspilerUtil.compile(TranspilerUtil.java:80)
at org.jpmml.transpiler.Main.run(Main.java:115)
at org.jpmml.transpiler.Main.main(Main.java:98)
I've attached the pickle file, pmml file here for your reference . The pickle file is generated in python using:
joblib.dump(self.classifier, out_file_name + ".pkl.z", compress = 9)
vruusmann commented
Your PMML document contains too many verification data records.
The JPMML-Transpiler command-line application could provide an option for enabling/disabling this verification functionality (or limiting the size of the verification dataset to at most N data records).
In the meantime, please re-export your model, and:
- Don't call the
PMMLPipeline.verify(X)
method at all - Limit the number of rows in the verification dataset. Right now you're attempting to store 17547 data records, which is a bit too much (100 would suffice).
ahmed-shariff commented
I didn't realise it stores all that data. It exports without a hitch now. Thank you.