wip stackoverflow debug
This commit is contained in:
parent
3e1775428d
commit
6608b6e0e5
|
|
@ -9,6 +9,7 @@ use burn::tensor::Tensor;
|
|||
use burn_rl::agent::DQN;
|
||||
use burn_rl::agent::{DQNModel, DQNTrainingConfig};
|
||||
use burn_rl::base::{Action, Agent, ElemType, Environment, Memory, Model, State};
|
||||
use std::time::{Duration, SystemTime};
|
||||
|
||||
#[derive(Module, Debug)]
|
||||
pub struct Net<B: Backend> {
|
||||
|
|
@ -99,6 +100,7 @@ pub fn run<E: Environment, B: AutodiffBackend>(
|
|||
let mut episode_reward: ElemType = 0.0;
|
||||
let mut episode_duration = 0_usize;
|
||||
let mut state = env.state();
|
||||
let mut now = SystemTime::now();
|
||||
|
||||
while !episode_done {
|
||||
let eps_threshold =
|
||||
|
|
@ -131,9 +133,13 @@ pub fn run<E: Environment, B: AutodiffBackend>(
|
|||
episode_done = true;
|
||||
|
||||
println!(
|
||||
"{{\"episode\": {}, \"reward\": {:.4}, \"duration\": {}}}",
|
||||
episode, episode_reward, episode_duration
|
||||
"{{\"episode\": {}, \"reward\": {:.4}, \"steps count\": {}, \"duration\": {}}}",
|
||||
episode,
|
||||
episode_reward,
|
||||
episode_duration,
|
||||
now.elapsed().unwrap().as_secs()
|
||||
);
|
||||
now = SystemTime::now();
|
||||
} else {
|
||||
state = *snapshot.state();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,12 @@
|
|||
|
||||
## TODO
|
||||
|
||||
- stack overflow
|
||||
|
||||
- https://crates.io/crates/backtrace-on-stack-overflow
|
||||
- https://users.rust-lang.org/t/how-to-diagnose-a-stack-overflow-issues-cause/17320/11
|
||||
- https://www.reddit.com/r/rust/comments/1d8lxtd/debugging_stack_overflows/
|
||||
|
||||
- bot burn
|
||||
- train = `just trainbot`
|
||||
- durée d'entrainement selon params ?
|
||||
|
|
|
|||
|
|
@ -43,4 +43,4 @@ fatal runtime error: stack overflow
|
|||
error: Recipe `trainbot` was terminated on line 25 by signal 6
|
||||
```
|
||||
|
||||
Au bout du 12ème épisode (plus de 6 heures sur ma machine), l'entraînement s'arrête avec une erreur stack overlow. Peux-tu m'aider à diagnostiquer d'où peut provenir le problème ? Y a-t-il des outils qui permettent de détecter les zones de code qui utilisent le plus la stack ? Pour information j'ai vu ce rapport de bug https://github.com/yunjhongwu/burn-rl-examples/issues/40, donc peut-être que le problème vient du paquet 'burl-rl'.
|
||||
Au bout du 12ème épisode (plus de 6 heures sur ma machine), l'entraînement s'arrête avec une erreur stack overlow. Peux-tu m'aider à diagnostiquer d'où peut provenir le problème ? Y a-t-il des outils qui permettent de détecter les zones de code qui utilisent le plus la stack ? Pour information j'ai vu ce rapport de bug <https://github.com/yunjhongwu/burn-rl-examples/issues/40> , donc peut-être que le problème vient du paquet 'burl-rl'.
|
||||
|
|
|
|||
Loading…
Reference in a new issue