bug in smilearn?

The engine.
Post Reply
alamy
Posts: 8
Joined: Fri Sep 26, 2008 4:39 pm

bug in smilearn?

Post by alamy »

Hi,

I got an assertion false from smilearn when trying to use DSL_em to do a EM learning.

The debug call stack is shown as follow. I also attached my C++ code, the network in XDSL format, and the dataset in the zip file.

I tried to do the learning manually in GeNie, and it seems that it runs ok. I'm not sure if it's because GeNie is linked with release version of the smile learn library, which might ignore the assertion?

Or maybe there's something wrong in my way of invoking DSL_em?


Assertion failed: size >= 0 && size < MaxDimCount, file d:\shooltz\dsl\genie2\smile\tsmatrix.h, line 220

msvcr80d.dll!_NMSG_WRITE(int rterrnum=10) Line 198
msvcr80d.dll!abort() Line 59 + 0x7 bytes
msvcr80d.dll!_wassert(const wchar_t * expr=0x007db0e8, const wchar_t * filename=0x007db088, unsigned int lineno=220) Line 212
A.exe!TsMatrix::Coords::Add() + 0x36 bytes C++
A.exe!TsClique::InitPotential() + 0x25a bytes C++
A.exe!TsJoinTree::InitPotentials() + 0x70 bytes C++
A.exe!Ess::UpdateCounts() + 0x3e bytes C++
A.exe!LearnFast() + 0x48c bytes C++
A.exe!DSL_em::Learn() + 0x21b bytes C++
Attachments
code_data.zip
code, xdsl network, and data
(1.4 KiB) Downloaded 603 times
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: bug in smilearn?

Post by shooltz[BayesFusion] »

I can't reproduce the problem with most recent SMILE sources. We made changes to the EM implementation, so it's possible that problem you've encountered is already fixed. We'll be releasing new builds of GeNIe and SMILE this week.

Publicly available GeNIe binaries are indeed compiled with -DNDEBUG, so asserts are removed. Note that your sample code has vital calls _inside_ assert macros, so if you build your program in release mode, it will not invoke MatchNetwork or Learn at all.
alamy
Posts: 8
Joined: Fri Sep 26, 2008 4:39 pm

Re: bug in smilearn?

Post by alamy »

shooltz wrote:I can't reproduce the problem with most recent SMILE sources. We made changes to the EM implementation, so it's possible that problem you've encountered is already fixed. We'll be releasing new builds of GeNIe and SMILE this week.

Publicly available GeNIe binaries are indeed compiled with -DNDEBUG, so asserts are removed. Note that your sample code has vital calls _inside_ assert macros, so if you build your program in release mode, it will not invoke MatchNetwork or Learn at all.

Hi, thanks very much for your prompt response.

A good news is that I just downlaod the latest library (http://genie.sis.pitt.edu/download/smil ... ws_vc8.zip) and the problem is gone.

The library I used was built on 2008/3/25 though it's also under the same name as smile_1_1_windows_vc8 so I didn't notice you already have a later version (2008/6/19) up there.

Sorry for not checking that out myself.

Btw, I'm still using VC8. I wish the new version you are going to release will still support VC8.

Thanks again.
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: bug in smilearn?

Post by shooltz[BayesFusion] »

alamy wrote:Btw, I'm still using VC8. I wish the new version you are going to release will still support VC8.
We'll release SMILE for all supported platforms. This includes VC6.0, VC7.1, VC8.0, VC9.0 and a number of builds for *nix-like systems compiled with gcc.
Post Reply