Giter Site home page Giter Site logo

Rust panic about random-cut-forest-by-aws HOT 8 OPEN

acpeakhour avatar acpeakhour commented on September 27, 2024
Rust panic

from random-cut-forest-by-aws.

Comments (8)

sudiptoguha avatar sudiptoguha commented on September 27, 2024

This is likely the same issue as #374

Would you be able to drop in the cut.rs from the current PR (just changing that one file should not affect anything else)? Or is this arising in the current PR itself? The current PR performs the check against the length.

from random-cut-forest-by-aws.

sudiptoguha avatar sudiptoguha commented on September 27, 2024

And one of the main instigations for the new PR was to not have panics but at least enable the capability of propagating errors (but there are still ways to go in terms of messages and error details -- hopefully they can be handled iteratively)

from random-cut-forest-by-aws.

acpeakhour avatar acpeakhour commented on September 27, 2024

Amusingly, I just converted the logic from the Java version. I'll try your update.

The RCF v4 update is interesting, I'm trying to understand everything you are saying. We currently struggle with 10gb heap running many multi dimensional trcf's. The way I read that is that we can have a single forest handling many?

from random-cut-forest-by-aws.

sudiptoguha avatar sudiptoguha commented on September 27, 2024

"we can have a single forest handling many" -> yes, with a price. If the time series are very different then precision/recall (measured via implanted anomalies) will reduce because the model can get confounded. This is ameliorated slightly based on the late detection (relative_index field) -- but again, mileage may vary.

from random-cut-forest-by-aws.

acpeakhour avatar acpeakhour commented on September 27, 2024

I get a new error now, could there be some dependent code elsewhere?

deleting wrong node; looking for 4511 found 5311
want 1.1760913 found 2.0043213
want 0 found 0
want 0 found 0
want 0 found 0
want 0.90309 found 0.69897
want 0 found 0
want 0 found 0
want 0 found 0
want 1.2787536 found 1.1760913
want 0 found 0
want 0 found 0
want 0 found 0
want 1.0791812 found 0.7781513
want 0 found 0
want 0 found 0
want 0 found 0
want 1.7160033 found 1.8129133
want 0 found 0
want 0 found 0
want 0 found 0
want 0.47712123 found 0.60206
want 0 found 0
want 0 found 0
want 0 found 0
want 1.6627579 found 1.6232493
want 0 found 0
want 0 found 0
want 0 found 0
want 0.845098 found 0.845098
want 0 found 0
want 0 found 0
want 0 found 0
thread panicked at 'explicit panic', deps/rcf/Rust/src/samplerplustree/randomcuttree.rs:222:17

from random-cut-forest-by-aws.

sudiptoguha avatar sudiptoguha commented on September 27, 2024

What is happening is that the code is looking for (want) a specific value to delete and finding something else in that position
that explains "deleting wrong node; looking for 4511 found 5311. This would happen if the trees are corrupted (that is, violate the assumption that every point on left is less or equal in that splitting coordinate, and everything on right is greater). If the cut subroutine produces a cut that does not separate the bounding box into two parts (when called from the add subroutine), then the tree could get corrupted. Are you seeing this error using the restored check-pointed/serialized forests or from new ones?

from random-cut-forest-by-aws.

acpeakhour avatar acpeakhour commented on September 27, 2024

I upgraded to your rcfv4 branch. I'm pleased to report:

  • no more crashes
  • uses 1/3 of the heap
  • runs significantly faster

well done.

from random-cut-forest-by-aws.

sudiptoguha avatar sudiptoguha commented on September 27, 2024

Thanks and thanks for trying the new branch. I am happy that it worked for you.

from random-cut-forest-by-aws.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.