Network size limitation of SMILE package

The engine.
Post Reply
BayesFusionUser123
Posts: 17
Joined: Tue Jun 10, 2025 3:51 pm

Network size limitation of SMILE package

Post by BayesFusionUser123 »

Dear Community,

I am following the PDF version of the tutorial for SMILE wrappers, specifically for python language.


I am trying SMILE package on our real-world dataset.

Our dataset has 1654 nodes, 2965 edges.
Among the 1654 nodes, there are 605 continuous variables and 1049 categorical variables.

To make learning parameter EM algorithm work on this network, I discretize all continuous variables into 5 bins.

After I learn the parameter of this network from a dataset. I try to print out the posterior of a target variable.

I tried the following code:

Code: Select all

hybrid_net.update_beliefs()
print_posteriors(hybrid_net, 0)

It gives error message like below:

Code: Select all

--------------------------------------------------
SMILEException Traceback (most recent call last) Cell In[84], line 1 
----> 1 hybrid_net.update_beliefs() 2 print_posteriors(hybrid_net, 0) 

SMILEException: SMILE Error -42 in function Network.UpdateBeliefs
I checked the error code and found:
https://support.bayesfusion.com/docs/SM ... codes.html

The -42 means `DSL_OUT_OF_MEMORY`


My question:
Does it means SMILE cannot deal with network of this size?
What is the largest size of network can SMILE deal with?
How can I solve this issue?

Thank you very much.
shooltz[BayesFusion]
Site Admin
Posts: 1472
Joined: Mon Nov 26, 2007 5:51 pm

Re: Network size limitation of SMILE package

Post by shooltz[BayesFusion] »

Error -42 is caused by insufficient memory in exact inference algorithm. This algorithm creates temporary data structure (the join tree), which can become very large, depending on the connections in the network.

You can switch to approximate sampling inference (EPIS), or set explicit targets in the network if you're only interested in the subset of node probabilities.
Post Reply