From 4558abf160f9d212cc1d77b2af04f2bd61e68fa8 Mon Sep 17 00:00:00 2001 From: Eason <30045503+Eason0729@users.noreply.github.com> Date: Wed, 12 Jun 2024 23:05:45 +0800 Subject: [PATCH] check every feature --- tank-rust/src/dqn/feature.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tank-rust/src/dqn/feature.rs b/tank-rust/src/dqn/feature.rs index 09c656d..21e977f 100644 --- a/tank-rust/src/dqn/feature.rs +++ b/tank-rust/src/dqn/feature.rs @@ -124,7 +124,7 @@ impl<'a> Info<'a> { let angle = self.player.get_angle(); let gun_angle = self.player.get_gun_angle(); - [ + let feature=[ normalize_angle(target.angle - angle).tanh(), (wall.distance - target.distance).tanh(), (self.player.power as f32).tanh(), @@ -132,13 +132,15 @@ impl<'a> Info<'a> { (emeny.distance + 1.0).log2(), normalize_angle(emeny.angle - gun_angle).tanh(), normalize_angle(wall.angle - gun_angle).tanh(), - ] - } - pub fn into_feature_tensor(&self, device: &B::Device) -> Tensor { - let feature = self.into_feature(); + ]; for feature in feature.iter() { assert!(!feature.is_nan()); } + feature + } + pub fn into_feature_tensor(&self, device: &B::Device) -> Tensor { + let feature = self.into_feature(); + Tensor::from_floats(feature, device) } fn get_target(&self) -> Target {