HyperCodec / neat

Crate for implementing NeuroEvolution of Augmenting Topologies
MIT License
3 stars 0 forks source link

plotters example #50

Closed HyperCodec closed 1 month ago

HyperCodec commented 2 months ago

thread 'main' panicked at library/core/src/panicking.rs:215:5: unsafe precondition(s) violated: slice::from_raw_parts requires the pointer to be aligned and non-null, and the total size of the slice not to exceed `isize::MAX` note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace thread caused non-unwinding panic. aborting. Aborted (core dumped)

appears to be part of plotters because it makes it completely through the training phase.

HyperCodec commented 2 months ago

opened https://github.com/plotters-rs/plotters/issues/573, awaiting reply.

HyperCodec commented 1 month ago

I have the same problem when I use the lib under docker bookworm with rust 1.78 but the problem doesn't appear on MacOS.

While waiting for the patch, I've found an alternative which consists in using the SVGBackend and not the BitmapBackend. Apparently the bug is linked specifically to BitMapBackend.

After all, SVG renderings are of better quality.

This should allow development once again.

HyperCodec commented 1 month ago

Commencing development now that I have my codespace usage reset

HyperCodec commented 1 month ago

Hangs during training phase, I don't think it used to do that before the change. Not exactly sure how this happened but probably has something to do with the mutex.

HyperCodec commented 1 month ago

When I run with LLDB, it finished training pretty much instantly and then I get the following:

thread 'main' panicked at examples/plot.rs:103:59:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/core/src/panicking.rs:72:14
   2: core::panicking::panic
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/core/src/panicking.rs:141:5
   3: core::option::unwrap_failed
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/core/src/option.rs:1984:5
   4: core::option::Option<T>::unwrap
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/core/src/option.rs:932:21
Training...
Training complete, collecting data and building chart...
thread 'main' panicked at examples/plot.rs:103:59:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/core/src/panicking.rs:72:14
   2: core::panicking::panic
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/core/src/panicking.rs:141:5
   3: core::option::unwrap_failed
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/core/src/option.rs:1984:5
   4: core::option::Option<T>::unwrap
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/core/src/option.rs:932:21
   5: plot::main
             at ./examples/plot.rs:103:24
   6: core::ops::function::FnOnce::call_once
             at /rustc/0d8b3346a3992ab11ea35ff0fb95a6864b91f797/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
HyperCodec commented 1 month ago

This example technically works now, but it still doesn't learn. Will also probably need to check the other examples to make sure they are also learning.

HyperCodec commented 1 month ago

I think I'll just make a separate issue and pull request that patches the learning of all these examples, as I think this might become a pretty long process.

HyperCodec commented 1 month ago

temporary disabled branch detection ruleset, not sure why it decided to stop working recently. there is absolutely a successful testing deployment.