From 763d704efd482e51d798b5f55a7c51f5baf29ad5 Mon Sep 17 00:00:00 2001 From: Koha9 Date: Mon, 5 Sep 2022 21:22:34 +0900 Subject: [PATCH] Add Save model weights immediately future add save button@Unity then send "saveNow" Toggle to Python. delete useless method "saveModel" and "loadModel". Use Save/load weights instead. --- .../ML-Agents/Timers/InGame_timers.json | 2 +- .../Assets/Scenes/InGame.unity | 287 +++++++------- .../Assets/Script/AgentWithGun.cs | 2 + .../Assets/Script/SaveWeightsButton.cs | 2 + Aimbot-PPO-Python/PPO.py | 46 +-- Aimbot-PPO-Python/aimBotEnv.py | 22 +- Aimbot-PPO-Python/main.ipynb | 368 ++---------------- 7 files changed, 202 insertions(+), 527 deletions(-) diff --git a/Aimbot-PPO-MultiScene/Assets/ML-Agents/Timers/InGame_timers.json b/Aimbot-PPO-MultiScene/Assets/ML-Agents/Timers/InGame_timers.json index 3906fd0..e32dda2 100644 --- a/Aimbot-PPO-MultiScene/Assets/ML-Agents/Timers/InGame_timers.json +++ b/Aimbot-PPO-MultiScene/Assets/ML-Agents/Timers/InGame_timers.json @@ -1 +1 @@ -{"count":1,"self":16.1291616,"total":16.1316623,"children":{"InitializeActuators":{"count":2,"self":0.0010018,"total":0.0010018,"children":null},"InitializeSensors":{"count":2,"self":0.001,"total":0.001,"children":null}},"gauges":{},"metadata":{"timer_format_version":"0.1.0","start_time_seconds":"1662370082","unity_version":"2020.3.19f1","command_line_arguments":"C:\\Program Files\\Unity\\Hub\\Editor\\2020.3.19f1\\Editor\\Unity.exe -projectpath C:\\Users\\UCUNI\\OneDrive\\Unity\\ML-Agents\\Aimbot-PPO-MultiScene -useHub -hubIPC -cloudEnvironment production -licensingIpc LicenseClient-UCUNI -hubSessionId 209fdf30-2c1f-11ed-916f-33e85f4223cc -accessToken 3CjC0epfWRwxG_KrVpNvr61CG1zT0gOQYZxf1vrmOrM00ef","communication_protocol_version":"1.5.0","com.unity.ml-agents_version":"2.0.0","scene_name":"InGame","end_time_seconds":"1662370098"}} \ No newline at end of file +{"count":1,"self":49.843855999999995,"total":49.849858,"children":{"InitializeActuators":{"count":2,"self":0.0010003,"total":0.0010003,"children":null},"InitializeSensors":{"count":2,"self":0.0010000999999999999,"total":0.0010000999999999999,"children":null}},"gauges":{},"metadata":{"timer_format_version":"0.1.0","start_time_seconds":"1662380026","unity_version":"2020.3.19f1","command_line_arguments":"C:\\Program Files\\Unity\\Hub\\Editor\\2020.3.19f1\\Editor\\Unity.exe -projectpath C:\\Users\\UCUNI\\OneDrive\\Unity\\ML-Agents\\Aimbot-PPO\\Aimbot-PPO-MultiScene -useHub -hubIPC -cloudEnvironment production -licensingIpc LicenseClient-UCUNI -hubSessionId 209fdf30-2c1f-11ed-916f-33e85f4223cc -accessToken IuORxC7h70N41GHOqk3KOoetERc0UUQjx5TXQ7GcoN400ef","communication_protocol_version":"1.5.0","com.unity.ml-agents_version":"2.0.0","scene_name":"InGame","end_time_seconds":"1662380076"}} \ No newline at end of file diff --git a/Aimbot-PPO-MultiScene/Assets/Scenes/InGame.unity b/Aimbot-PPO-MultiScene/Assets/Scenes/InGame.unity index dfe8f48..44566f4 100644 --- a/Aimbot-PPO-MultiScene/Assets/Scenes/InGame.unity +++ b/Aimbot-PPO-MultiScene/Assets/Scenes/InGame.unity @@ -311,7 +311,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &15909075 @@ -386,7 +386,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -14.531864, y: 0} + m_AnchoredPosition: {x: -15.333334, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &16217190 @@ -576,7 +576,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &25666661 MonoBehaviour: @@ -657,7 +657,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -201.26, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &25903619 MonoBehaviour: @@ -911,7 +911,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &42608553 MonoBehaviour: @@ -1073,7 +1073,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 117} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &48524278 MonoBehaviour: @@ -1302,7 +1302,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &52282413 MonoBehaviour: @@ -1416,7 +1416,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &69535876 MonoBehaviour: @@ -1494,7 +1494,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &72077395 @@ -1772,7 +1772,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -63} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &102944257 MonoBehaviour: @@ -1847,7 +1847,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &111303087 MonoBehaviour: @@ -1925,7 +1925,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &119127067 @@ -2643,7 +2643,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &149710882 @@ -2719,7 +2719,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &162289220 MonoBehaviour: @@ -2996,7 +2996,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &188789335 @@ -3114,7 +3114,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 57} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &188953746 MonoBehaviour: @@ -3188,7 +3188,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -14.531864, y: 0} + m_AnchoredPosition: {x: -15.333334, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &191139044 @@ -3476,7 +3476,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 117} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &200583464 MonoBehaviour: @@ -4833,7 +4833,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &208643482 @@ -4908,7 +4908,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &210575780 @@ -5171,7 +5171,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 122.380005, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &221517430 MonoBehaviour: @@ -5245,7 +5245,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &225688601 @@ -6096,7 +6096,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 57} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &326222086 MonoBehaviour: @@ -6170,7 +6170,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &326762361 @@ -6246,7 +6246,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &328064206 MonoBehaviour: @@ -6660,7 +6660,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -33} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &358674452 MonoBehaviour: @@ -7437,7 +7437,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &430915229 @@ -8456,7 +8456,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 87} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &465774760 MonoBehaviour: @@ -8598,7 +8598,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 14.5, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &474214544 MonoBehaviour: @@ -8831,7 +8831,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -93.37999, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &495150916 MonoBehaviour: @@ -8906,7 +8906,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &496880998 MonoBehaviour: @@ -9262,7 +9262,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &517135392 @@ -9415,7 +9415,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &528506632 MonoBehaviour: @@ -9652,7 +9652,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 230.26001, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &568499058 MonoBehaviour: @@ -9726,7 +9726,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -123.29662, y: 0} + m_AnchoredPosition: {x: -124.666664, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &571903142 @@ -9802,7 +9802,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &591203362 MonoBehaviour: @@ -9883,7 +9883,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -93} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &595285977 MonoBehaviour: @@ -9957,7 +9957,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &600869056 @@ -10033,7 +10033,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &602372912 MonoBehaviour: @@ -11528,7 +11528,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_BrainParameters: - VectorObservationSize: 31 + VectorObservationSize: 32 NumStackedVectorObservations: 1 m_ActionSpec: m_NumContinuousActions: 1 @@ -11910,7 +11910,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &645014597 @@ -12306,7 +12306,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &649944399 MonoBehaviour: @@ -12657,7 +12657,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 37} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &691081144 MonoBehaviour: @@ -12911,7 +12911,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -59} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &717272752 MonoBehaviour: @@ -13064,7 +13064,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &720116288 @@ -13140,7 +13140,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &721859328 MonoBehaviour: @@ -13300,7 +13300,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 211.93391, y: 29.680567} + m_SizeDelta: {x: 217.77777, y: 30.666666} m_Pivot: {x: 0.5, y: 1} --- !u!114 &733816199 MonoBehaviour: @@ -13493,7 +13493,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &755709331 @@ -13857,7 +13857,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &763127412 @@ -14076,7 +14076,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &793704202 MonoBehaviour: @@ -14219,7 +14219,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &796009157 @@ -14547,7 +14547,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &802051163 MonoBehaviour: @@ -14625,7 +14625,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &804560883 @@ -14703,7 +14703,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -93.37999, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &808684900 MonoBehaviour: @@ -14859,7 +14859,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -114.232895, y: 0} + m_AnchoredPosition: {x: -116.666664, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &815597367 @@ -15095,7 +15095,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &838006002 MonoBehaviour: @@ -15309,7 +15309,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -201.26, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &844985475 MonoBehaviour: @@ -15861,7 +15861,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &878929885 MonoBehaviour: @@ -15942,7 +15942,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 27} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &885432328 MonoBehaviour: @@ -16095,7 +16095,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &886618692 @@ -16253,7 +16253,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -123} - m_SizeDelta: {x: 17.063728, y: 22.127459} + m_SizeDelta: {x: 18.666668, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &894156495 MonoBehaviour: @@ -16490,7 +16490,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -27} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &907816954 MonoBehaviour: @@ -16806,7 +16806,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 117} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &928900840 MonoBehaviour: @@ -16881,7 +16881,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &932711993 MonoBehaviour: @@ -17039,7 +17039,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &942607302 MonoBehaviour: @@ -17192,7 +17192,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -111.96696, y: 0} + m_AnchoredPosition: {x: -114.888885, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &951578500 @@ -17267,7 +17267,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &956206175 @@ -17505,7 +17505,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 101} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &962451838 MonoBehaviour: @@ -17582,7 +17582,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 27} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &966834424 MonoBehaviour: @@ -18035,7 +18035,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1010425410 @@ -18189,7 +18189,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1023339847 @@ -18425,7 +18425,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1032063798 MonoBehaviour: @@ -18619,7 +18619,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1045203208 @@ -19083,7 +19083,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1083382303 MonoBehaviour: @@ -19308,7 +19308,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -93.37999, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1113647591 MonoBehaviour: @@ -19383,7 +19383,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1133378796 MonoBehaviour: @@ -19607,7 +19607,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 5} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1163442370 MonoBehaviour: @@ -19875,7 +19875,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 14.5, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1186343262 MonoBehaviour: @@ -19949,7 +19949,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1199612233 @@ -21617,7 +21617,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -123} - m_SizeDelta: {x: 17.063728, y: 22.127459} + m_SizeDelta: {x: 18.666668, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1234601879 MonoBehaviour: @@ -21768,7 +21768,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1235656835 @@ -21976,7 +21976,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -123} - m_SizeDelta: {x: 17.063728, y: 22.127459} + m_SizeDelta: {x: 18.666668, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1241541575 MonoBehaviour: @@ -22243,7 +22243,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1273108963 @@ -22400,7 +22400,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 122.380005, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1282464053 MonoBehaviour: @@ -22477,7 +22477,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 234.59325, y: 29.680567} + m_SizeDelta: {x: 237.33333, y: 30.666666} m_Pivot: {x: 0.5, y: 1} --- !u!114 &1283581650 MonoBehaviour: @@ -22900,7 +22900,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1311450674 @@ -22975,7 +22975,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1319598734 @@ -23053,7 +23053,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -33} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1321112282 MonoBehaviour: @@ -23424,7 +23424,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1356798916 MonoBehaviour: @@ -23912,7 +23912,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1392249418 MonoBehaviour: @@ -23991,7 +23991,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 9.063729, y: 18.127459} + m_SizeDelta: {x: 10.666667, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1393325966 MonoBehaviour: @@ -24216,7 +24216,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -3} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1399926666 MonoBehaviour: @@ -24290,7 +24290,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1402881480 @@ -24480,7 +24480,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 87} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1414640703 MonoBehaviour: @@ -24965,7 +24965,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1439682605 MonoBehaviour: @@ -25081,7 +25081,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1443827059 MonoBehaviour: @@ -25225,7 +25225,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: -0, y: -2} - m_SizeDelta: {x: 203.93391, y: 25.680567} + m_SizeDelta: {x: 209.77777, y: 26.666666} m_Pivot: {x: 0.5, y: 1} --- !u!114 &1462706066 MonoBehaviour: @@ -25371,7 +25371,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -201.26, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1470983557 MonoBehaviour: @@ -25446,7 +25446,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1475721442 MonoBehaviour: @@ -25604,7 +25604,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 122.380005, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1481370282 MonoBehaviour: @@ -25902,7 +25902,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -14.531864, y: 0} + m_AnchoredPosition: {x: -15.333334, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1489565677 @@ -25977,7 +25977,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1494239044 @@ -26052,7 +26052,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1495256093 @@ -26340,7 +26340,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: -0, y: -2} - m_SizeDelta: {x: 226.59325, y: 25.680567} + m_SizeDelta: {x: 229.33333, y: 26.666666} m_Pivot: {x: 0.5, y: 1} --- !u!114 &1517139710 MonoBehaviour: @@ -26528,7 +26528,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1536968433 MonoBehaviour: @@ -26607,7 +26607,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1537446176 MonoBehaviour: @@ -27129,7 +27129,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1602618188 @@ -27284,7 +27284,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1614878827 MonoBehaviour: @@ -27362,7 +27362,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1614888748 @@ -27438,7 +27438,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1615325407 MonoBehaviour: @@ -27558,7 +27558,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1625376958 @@ -27854,7 +27854,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -93} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1635496872 MonoBehaviour: @@ -27993,7 +27993,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1669330273 @@ -28309,7 +28309,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: -0, y: -2} - m_SizeDelta: {x: 208.46579, y: 25.680567} + m_SizeDelta: {x: 213.33333, y: 26.666666} m_Pivot: {x: 0.5, y: 1} --- !u!114 &1697246156 MonoBehaviour: @@ -28712,7 +28712,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -63} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1721895621 MonoBehaviour: @@ -28789,7 +28789,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: 69} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1725213617 MonoBehaviour: @@ -29026,7 +29026,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 9.063729, y: 18.127459} + m_SizeDelta: {x: 10.666667, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1744030219 MonoBehaviour: @@ -29122,6 +29122,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 065aae6979c750b4fa0a0be5dbd8d2c7, type: 3} m_Name: m_EditorClassIdentifier: + Agent: {fileID: 629870337} --- !u!114 &1747636733 MonoBehaviour: m_ObjectHideFlags: 0 @@ -29165,7 +29166,19 @@ MonoBehaviour: m_TargetGraphic: {fileID: 1747636734} m_OnClick: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 1747636732} + m_TargetAssemblyTypeName: SaveWeightsButton, Assembly-CSharp + m_MethodName: onButtonClicked + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!114 &1747636734 MonoBehaviour: m_ObjectHideFlags: 0 @@ -29320,7 +29333,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1753569903 MonoBehaviour: @@ -29617,7 +29630,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1769014920 @@ -29695,7 +29708,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 14.5, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1770477495 MonoBehaviour: @@ -30273,7 +30286,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1811785219 MonoBehaviour: @@ -30594,7 +30607,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1821850660 @@ -31190,7 +31203,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1863075756 MonoBehaviour: @@ -31269,7 +31282,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1863263629 MonoBehaviour: @@ -31348,7 +31361,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 9.063729, y: 18.127459} + m_SizeDelta: {x: 10.666667, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1867950665 MonoBehaviour: @@ -31464,7 +31477,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1872392833 MonoBehaviour: @@ -31582,7 +31595,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -3} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1884023751 MonoBehaviour: @@ -31736,7 +31749,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 216.46579, y: 29.680567} + m_SizeDelta: {x: 221.33333, y: 30.666666} m_Pivot: {x: 0.5, y: 1} --- !u!114 &1885190693 MonoBehaviour: @@ -31888,7 +31901,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -553.2, y: -91} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 29.333334, y: 23.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &1907076006 MonoBehaviour: @@ -32040,7 +32053,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 230.26001, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1926093283 MonoBehaviour: @@ -32414,7 +32427,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: -0, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 19.555555, y: 19.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1935182774 MonoBehaviour: @@ -32704,7 +32717,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -20.666668, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1952665840 @@ -33608,7 +33621,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &2021417084 MonoBehaviour: @@ -34418,7 +34431,7 @@ RectTransform: m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} m_AnchoredPosition: {x: -4, y: 0} - m_SizeDelta: {x: 18.127459, y: 18.127459} + m_SizeDelta: {x: 21.333334, y: 19.555555} m_Pivot: {x: 1, y: 0.5} --- !u!114 &2054949624 MonoBehaviour: @@ -34711,7 +34724,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 230.26001, y: -140} - m_SizeDelta: {x: 26.127459, y: 22.127459} + m_SizeDelta: {x: 27.555555, y: 23.555555} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2085253773 MonoBehaviour: @@ -35067,7 +35080,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -19.063728, y: 0} + m_AnchoredPosition: {x: -19.777779, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2121688059 diff --git a/Aimbot-PPO-MultiScene/Assets/Script/AgentWithGun.cs b/Aimbot-PPO-MultiScene/Assets/Script/AgentWithGun.cs index fcd4625..b1bed3d 100644 --- a/Aimbot-PPO-MultiScene/Assets/Script/AgentWithGun.cs +++ b/Aimbot-PPO-MultiScene/Assets/Script/AgentWithGun.cs @@ -499,6 +499,8 @@ public class AgentWithGun : Agent //sensor.AddObservation(raySensorNum); // raySensor数量 int sensor.AddObservation(LoadDirDateF); // 用于loadModel的第一级dir sensor.AddObservation(loadDirTimeF); // 用于loadModel的第二级dir + sensor.AddObservation(saveNow); // sent saveNow Toggle to python let agent save weights + saveNow = 0; // reset saveNow Toggle //sensor.AddObservation(remainTime); // RemainTime int } diff --git a/Aimbot-PPO-MultiScene/Assets/Script/SaveWeightsButton.cs b/Aimbot-PPO-MultiScene/Assets/Script/SaveWeightsButton.cs index 83b1094..ff74793 100644 --- a/Aimbot-PPO-MultiScene/Assets/Script/SaveWeightsButton.cs +++ b/Aimbot-PPO-MultiScene/Assets/Script/SaveWeightsButton.cs @@ -7,5 +7,7 @@ public class SaveWeightsButton : MonoBehaviour public GameObject Agent; public void onButtonClicked() { + // set saveNow to active. + Agent.GetComponent().saveNow = 1; } } diff --git a/Aimbot-PPO-Python/PPO.py b/Aimbot-PPO-Python/PPO.py index 48ace0f..9dfbaf4 100644 --- a/Aimbot-PPO-Python/PPO.py +++ b/Aimbot-PPO-Python/PPO.py @@ -392,21 +392,22 @@ class PPO(object): print(his.history['loss']) return np.mean(his.history['loss']) - def saveWeights(self,score): + def saveWeights(self,score = None): """save now NN's Weight. Use "models.save_weights" method. Save as "tf" format "ckpt" file. Args: score (int): now score """ + if score != None: + # create an empty file named as score to recored score + score_dir = self.saveDir+datetime.datetime.now().strftime("%H%M%S") + "/" + str(round(score)) + scorefile = open(score_dir,'w') + scorefile.close() actor_save_dir = self.saveDir+datetime.datetime.now().strftime("%H%M%S") + "/actor/" + "actor.ckpt" critic_save_dir = self.saveDir+datetime.datetime.now().strftime("%H%M%S") + "/critic/" + "critic.ckpt" - score_dir = self.saveDir+datetime.datetime.now().strftime("%H%M%S") + "/" + str(round(score)) self.actor.save_weights(actor_save_dir, save_format="tf") self.critic.save_weights(critic_save_dir, save_format="tf") - # create an empty file named as score to recored score - scorefile = open(score_dir,'w') - scorefile.close() print("Model's Weights Saved") def loadWeightToModels(self,loadDir): @@ -425,38 +426,3 @@ class PPO(object): print("++++++++++++Model Loaded++++++++++++") print(loadDir) print("++++++++++++++++++++++++++++++++++++") - - def saveModel(self, score): - """save now NN Model. Use "model.save()" method. - - Args: - score (int): now score - """ - score = "_" + str(round(score)) - actor_save_dir = self.saveDir+datetime.datetime.now().strftime("%H%M%S") + \ - score+"/actor.h5" - critic_save_dir = self.saveDir+datetime.datetime.now().strftime("%H%M%S") + \ - score+"/critic.h5" - self.actor.save(actor_save_dir) - self.critic.save(critic_save_dir) - print("Model Saved") - - def loadModel(self, loadDir): - """load NN Model. Use "models.load_model()" method. - - Args: - loadDir (string): Model dir - - Returns: - tf.keras.models: retuen compiled models. - """ - actorDir = loadDir+"/actor.h5" - criticDir = loadDir+"/critic.h5" - actor_net_loaded = tf.keras.models.load_model(actorDir) - critic_net_loaded = tf.keras.models.load_model(criticDir) - - print("++++++++++++++++++++++++++++++++++++") - print("++++++++++++Model Loaded++++++++++++") - print(loadDir) - print("++++++++++++++++++++++++++++++++++++") - return actor_net_loaded, critic_net_loaded diff --git a/Aimbot-PPO-Python/aimBotEnv.py b/Aimbot-PPO-Python/aimBotEnv.py index 78ad997..5776070 100644 --- a/Aimbot-PPO-Python/aimBotEnv.py +++ b/Aimbot-PPO-Python/aimBotEnv.py @@ -10,7 +10,7 @@ class makeEnv(object): self.env.reset() # get enviroment specs - self.LOAD_DIR_SIZE_IN_STATE = 2 + self.LOAD_DIR_SIZE_IN_STATE = 3 self.TRACKED_AGENT = -1 self.BEHA_SPECS = self.env.behavior_specs self.BEHA_NAME = list(self.BEHA_SPECS)[0] @@ -58,8 +58,8 @@ class makeEnv(object): self.env.set_actions(behavior_name=behaviorName,action=thisActionTuple) self.env.step() # get nextState & reward & done after this action - nextState,reward,done,loadDir = self.getSteps(behaviorName,trackedAgent) - return nextState,reward,done,loadDir + nextState,reward,done,loadDir, saveNow = self.getSteps(behaviorName,trackedAgent) + return nextState,reward,done,loadDir, saveNow def getSteps(self,behaviorName = None,trackedAgent = None): # get nextState & reward & done @@ -74,23 +74,25 @@ class makeEnv(object): if trackedAgent in decisionSteps: # ゲーム終了していない場合、環境状態がdecision_stepsに保存される nextState = decisionSteps[trackedAgent].obs[0] nextState = np.reshape(nextState,[1,self.STATE_SIZE+self.LOAD_DIR_SIZE_IN_STATE]) - loadDir = nextState[0][-2:] - nextState = nextState[0][:-2] + saveNow = nextState[0][-1] + loadDir = nextState[0][-3:-1] + nextState = nextState[0][:-3] reward = decisionSteps[trackedAgent].reward done = False if trackedAgent in terminalSteps: # ゲーム終了した場合、環境状態がterminal_stepsに保存される nextState = terminalSteps[trackedAgent].obs[0] nextState = np.reshape(nextState,[1,self.STATE_SIZE+self.LOAD_DIR_SIZE_IN_STATE]) - loadDir = nextState[0][-2:] - nextState = nextState[0][:-2] + saveNow = nextState[0][-1] + loadDir = nextState[0][-3:-1] + nextState = nextState[0][:-3] reward = terminalSteps[trackedAgent].reward done = True - return nextState, reward, done, loadDir + return nextState, reward, done, loadDir, saveNow def reset(self): self.env.reset() - nextState,reward,done,loadDir = self.getSteps() - return nextState,reward,done,loadDir + nextState,reward,done,loadDir,saveNow = self.getSteps() + return nextState,reward,done,loadDir,saveNow def render(self): self.env.render() \ No newline at end of file diff --git a/Aimbot-PPO-Python/main.ipynb b/Aimbot-PPO-Python/main.ipynb index 0cd8412..7da5a55 100644 --- a/Aimbot-PPO-Python/main.ipynb +++ b/Aimbot-PPO-Python/main.ipynb @@ -68,8 +68,7 @@ "text": [ "√√√√√Enviroment Initialized Success√√√√√\n", "√√√√√Buffer Initialized Success√√√√√\n", - "Load Model:\n", - "PPO-Model/09051833/183540\n", + "No loadDir specified,Create a New Model\n", "CONTINUOUS_SIZE 1\n", "DISCRETE_SIZE 5\n", "STATE_SIZE 29\n" @@ -86,7 +85,7 @@ "STATE_SIZE = env.STATE_SIZE\n", "CONTINUOUS_SIZE = env.CONTINUOUS_SIZE\n", "DISCRETE_SIZE = env.DISCRETE_SIZE\n", - "s,reward,done,loadDir = env.getSteps()\n", + "_,_,_,loadDir,_ = env.getSteps()\n", "\n", "# check load model or not\n", "if(np.any(loadDir == 0)):\n", @@ -160,11 +159,7 @@ "output_type": "stream", "text": [ "EP 0 START\n", - "√√√√√Buffer Initialized Success√√√√√\n", - "++++++++++++++++++++++++++++++++++++\n", - "++++++++++++Model Loaded++++++++++++\n", - "PPO-Model/09051833/183540\n", - "++++++++++++++++++++++++++++++++++++\n" + "√√√√√Buffer Initialized Success√√√√√\n" ] }, { @@ -181,337 +176,25 @@ "name": "stdout", "output_type": "stream", "text": [ - "A_Loss: -43.132581075032554 C_Loss: 4025.360986328125\n", - "EP OVER!\n", - "A_Loss: 1184751.5479166666 C_Loss: 1939213379930.6667\n", + "SAVENOW!\n", "Model's Weights Saved\n", - "New Record! Save NN -37.67000053450465\n", - "EP 1 START\n", - "A_Loss: 14251923.066666666 C_Loss: 40720630.7288086\n", - "EP OVER!\n", - "A_Loss: 1857006.7333333334 C_Loss: 245.15654500325522\n", + "A_Loss: 9210259745450.666 C_Loss: 7842064320569890.0\n", + "SAVENOW!\n", "Model's Weights Saved\n", - "New Record! Save NN -13.100000601261854\n", - "EP 2 START\n", - "A_Loss: -1.0014899969100952 C_Loss: 71.29023424784343\n", "EP OVER!\n", - "A_Loss: -0.31318608721097313 C_Loss: 8.897234630584716\n", - "EP 3 START\n", - "A_Loss: 566053.9979166667 C_Loss: 1986013.3489705403\n", - "EP OVER!\n", - "A_Loss: 0.6021817366282145 C_Loss: 6.035458342234294\n", - "EP 4 START\n", - "A_Loss: 169656457.6 C_Loss: 4317.756831359863\n", - "EP OVER!\n", - "A_Loss: 22155934.0 C_Loss: 63.52870483398438\n", - "EP 5 START\n", - "A_Loss: 0.2413090835014979 C_Loss: 10.40585823059082\n", - "EP OVER!\n", - "A_Loss: 0.12157159547011058 C_Loss: 14.347647285461425\n", - "EP 6 START\n", - "A_Loss: 215977770.66666666 C_Loss: 190435277.5966268\n", - "EP OVER!\n", - "A_Loss: 213349568.0 C_Loss: 1620.733740234375\n", - "EP 7 START\n", - "A_Loss: 100149825.6 C_Loss: 1569803.3794799806\n", - "EP OVER!\n", - "A_Loss: 171062395.73333332 C_Loss: 34872400594.933334\n", - "Model's Weights Saved\n", - "New Record! Save NN 4.119999349117279\n", - "EP 8 START\n", - "A_Loss: 0.7038820425669352 C_Loss: 31.980174128214518\n", - "EP OVER!\n", - "A_Loss: 0.2687960028648376 C_Loss: 6.94128991762797\n", - "EP 9 START\n", - "A_Loss: 0.1451285809278488 C_Loss: 3.5754743576049806\n", - "EP OVER!\n", - "A_Loss: 0.18081151247024535 C_Loss: 3.902424764633179\n", - "EP 10 START\n", - "A_Loss: 29139865.6 C_Loss: 174927458.90618488\n", - "EP OVER!\n", - "A_Loss: 16942552.4 C_Loss: 134.21190592447917\n", - "EP 11 START\n", - "A_Loss: 53790223.46666667 C_Loss: 647.0605305989583\n", - "EP OVER!\n", - "A_Loss: 27695839.866666667 C_Loss: 343.9340047200521\n", - "EP 12 START\n", - "A_Loss: 65695720.8 C_Loss: 61225647615.0198\n", - "EP OVER!\n", - "A_Loss: 0.07575627962748209 C_Loss: 10.41986296971639\n", - "EP 13 START\n", - "A_Loss: 51573392.266666666 C_Loss: 212022811.82775268\n", - "EP OVER!\n", - "A_Loss: 22073133.866666667 C_Loss: 61.18818028767904\n", - "EP 14 START\n", - "A_Loss: 0.13529965033133826 C_Loss: 0.966444210211436\n", - "EP OVER!\n", - "A_Loss: 0.1176165262858073 C_Loss: 0.5141626675923665\n", - "EP 15 START\n", - "A_Loss: 0.5104357699553171 C_Loss: 25.79277165730794\n", - "EP OVER!\n", - "A_Loss: 15181718.0 C_Loss: 9111658759031.467\n", - "EP 16 START\n", - "A_Loss: 30694314.533333335 C_Loss: 62842582.26665497\n", - "EP OVER!\n", - "A_Loss: 17702280.066666666 C_Loss: 50.18375091552734\n", - "EP 17 START\n", - "A_Loss: 0.08570613314708074 C_Loss: 1.7101642807324728\n", - "EP OVER!\n", - "A_Loss: 14154208.066666666 C_Loss: 248.65523885091145\n", - "EP 18 START\n", - "A_Loss: 51043696.8 C_Loss: 39972927.18101196\n", - "EP OVER!\n", - "A_Loss: 24850118.0 C_Loss: 6779725.618615722\n", - "EP 19 START\n", - "A_Loss: 75697662.4 C_Loss: 505.26551717122396\n", - "EP OVER!\n", - "A_Loss: 64376180.266666666 C_Loss: 299.2391876220703\n", - "EP 20 START\n", - "A_Loss: 55954064.8 C_Loss: 234.9048828125\n", - "EP OVER!\n", - "A_Loss: 57271699.733333334 C_Loss: 59254958.60783488\n", - "EP 21 START\n", - "A_Loss: 124046376.53333333 C_Loss: 2737571204155.7334\n", - "EP OVER!\n", - "A_Loss: 31774753.866666667 C_Loss: 24325611279.066666\n", - "EP 22 START\n", - "A_Loss: 7490019498.666667 C_Loss: 245487346653.86667\n", - "EP OVER!\n", - "A_Loss: 186999600.0 C_Loss: 36627312369.066666\n", - "EP 23 START\n", - "A_Loss: 4297551769.6 C_Loss: 1184376194184.5334\n", - "EP OVER!\n", - "A_Loss: 122982910044842.67 C_Loss: 7331505971746.134\n", - "EP 24 START\n", - "A_Loss: 2682021.3583333334 C_Loss: 2341072196027.7334\n", - "EP OVER!\n", - "A_Loss: 1469103463901.8667 C_Loss: 113593101.86666666\n", - "EP 25 START\n", - "A_Loss: 76648460.0 C_Loss: 14498072.481510418\n", - "EP OVER!\n", - "A_Loss: 5800877.766666667 C_Loss: 22134.297265625\n", - "EP 26 START\n", - "A_Loss: 34429532.53333333 C_Loss: 46926.630208333336\n", - "EP OVER!\n", - "A_Loss: 212612493.86666667 C_Loss: 23176.368880208334\n", - "EP 27 START\n", - "A_Loss: 3207813239.4666667 C_Loss: 41575.61041666667\n", - "EP OVER!\n", - "A_Loss: 38858107.86666667 C_Loss: 15486.2171875\n", - "EP 28 START\n", - "A_Loss: -58850.48046875 C_Loss: 14550529378106.69\n", - "EP OVER!\n", - "A_Loss: 445133260.8 C_Loss: 1749447703.4604166\n", - "EP 29 START\n", - "A_Loss: 80796092.8 C_Loss: 8523564.864453126\n", - "EP OVER!\n", - "A_Loss: 34027046.266666666 C_Loss: 3319.6830078125\n", - "Model's Weights Saved\n", - "New Record! Save NN 4.589999713003635\n", - "EP 30 START\n", - "A_Loss: 118412868.26666667 C_Loss: 23715976.025211588\n", - "EP OVER!\n", - "A_Loss: 94927646.93333334 C_Loss: 1067.18818359375\n", - "EP 31 START\n", - "A_Loss: 338770097.06666666 C_Loss: 3585200.7686075848\n", - "EP OVER!\n", - "A_Loss: 1479514146.1333334 C_Loss: 10348.122916666667\n", - "Model's Weights Saved\n", - "New Record! Save NN 38.5099995136261\n", - "EP 32 START\n", - "A_Loss: 119593341.86666666 C_Loss: 784.9417297363282\n", - "EP OVER!\n", - "A_Loss: -3.2093143463134766 C_Loss: 180.5671844482422\n", - "EP 33 START\n", - "A_Loss: 149599549.86666667 C_Loss: 206.16288146972656\n", - "EP OVER!\n", - "A_Loss: 5682631.7 C_Loss: 17.62857920328776\n", - "EP 34 START\n", - "A_Loss: 231213670.4 C_Loss: 272.8009948730469\n", - "EP OVER!\n", - "A_Loss: 167307104.0 C_Loss: 188.52051798502603\n", - "EP 35 START\n", - "A_Loss: 204825578.66666666 C_Loss: 335.75029296875\n", - "EP OVER!\n", - "A_Loss: 83991501.33333333 C_Loss: 451.3644246419271\n", - "EP 36 START\n", - "A_Loss: 0.6501724402109782 C_Loss: 38.280514017740884\n", - "EP OVER!\n", - "A_Loss: 175042737.06666666 C_Loss: 256.6915344238281\n", - "EP 37 START\n", - "A_Loss: 461190880.0 C_Loss: 717.4720499674479\n", - "EP OVER!\n", - "A_Loss: 173152186.66666666 C_Loss: 701.6123962402344\n", - "EP 38 START\n", - "A_Loss: 188070140.8 C_Loss: 1611377609664.9072\n", - "EP OVER!\n", - "A_Loss: 512005579391093.7 C_Loss: 86553492717568.0\n", - "EP 39 START\n", - "A_Loss: 121553.57962239583 C_Loss: 53618558110.88125\n", - "EP OVER!\n", - "A_Loss: 10892.0080078125 C_Loss: 132429.940625\n", - "EP 40 START\n", - "A_Loss: 15404.601106770833 C_Loss: 107106.1421875\n", - "EP OVER!\n", - "A_Loss: 1822.5163004557292 C_Loss: 182031.73854166668\n", - "EP 41 START\n", - "A_Loss: 599.1890706380208 C_Loss: 76118.35729166666\n", - "EP OVER!\n", - "A_Loss: 1033.1336588541667 C_Loss: 54971.41354166667\n", - "EP 42 START\n", - "A_Loss: 2602.054020182292 C_Loss: 227568.73541666666\n", - "EP OVER!\n", - "A_Loss: -3.2474422613779703 C_Loss: 155.22516682942708\n", - "EP 43 START\n", - "A_Loss: 1994.366455078125 C_Loss: 149748.48125\n", - "EP OVER!\n", - "A_Loss: 7441.857747395833 C_Loss: 196344.43958333333\n", - "EP 44 START\n", - "A_Loss: 19441.808723958333 C_Loss: 197749.58020833333\n", - "EP OVER!\n", - "A_Loss: 1789.1592529296875 C_Loss: 25795.180598958334\n", - "EP 45 START\n", - "A_Loss: 6888.085221354167 C_Loss: 149084.575\n", - "EP OVER!\n", - "A_Loss: 1102350.757421875 C_Loss: 180759.19166666668\n", - "EP 46 START\n", - "A_Loss: 536.078184000651 C_Loss: 89909.24375\n", - "EP OVER!\n", - "A_Loss: 794341992174.4 C_Loss: 59005630871824.9\n", - "EP 47 START\n", - "A_Loss: 114184075127.46666 C_Loss: 74263479521553.06\n", - "EP OVER!\n", - "A_Loss: 1293861572.3333333 C_Loss: 1474176015837.8667\n", - "EP 48 START\n", - "A_Loss: 1143.1249674479166 C_Loss: 19221068817.411232\n", - "EP OVER!\n", - "A_Loss: 855.1484252929688 C_Loss: 28676.431770833333\n", - "EP 49 START\n", - "A_Loss: 1198.7060546875 C_Loss: 41875.48359375\n", - "EP OVER!\n", - "A_Loss: 1215.0390218098958 C_Loss: 7167.594791666666\n", - "EP 50 START\n", - "A_Loss: 1840.496435546875 C_Loss: 33346.76875\n", - "EP OVER!\n", - "A_Loss: 97.68925425211589 C_Loss: 2453.3792643229167\n", - "EP 51 START\n", - "A_Loss: 2179.5446614583334 C_Loss: 25573.869270833333\n", - "EP OVER!\n", - "A_Loss: 3547.454052734375 C_Loss: 15107.698307291666\n", - "EP 52 START\n", - "A_Loss: 513.1327128092448 C_Loss: 23233.316276041667\n", - "EP OVER!\n", - "A_Loss: 2024.9339111328125 C_Loss: 10457.81875\n", - "EP 53 START\n", - "A_Loss: 321.8419494628906 C_Loss: 10830.605924479167\n", - "EP OVER!\n", - "A_Loss: -8.38951981862386 C_Loss: 2241.023612467448\n", - "EP 54 START\n", - "A_Loss: 1454.901765950521 C_Loss: 16337.481966145833\n", - "EP OVER!\n", - "A_Loss: 3069.5313313802085 C_Loss: 4450.756380208333\n", - "EP 55 START\n", - "A_Loss: 444.8317138671875 C_Loss: 15201.106184895832\n", - "EP OVER!\n", - "A_Loss: 1159.2985107421875 C_Loss: 35525.82317708333\n", - "EP 56 START\n", - "A_Loss: 1397.7694742838542 C_Loss: 8600.898404947917\n", - "EP OVER!\n", - "A_Loss: 160.49285074869792 C_Loss: 3749.308203125\n", - "EP 57 START\n", - "A_Loss: -23.67707913716634 C_Loss: 8787.21162109375\n", - "EP OVER!\n", - "A_Loss: 446.2368998209635 C_Loss: 8949.849674479166\n", - "EP 58 START\n", - "A_Loss: 1443.8223063151042 C_Loss: 4806.931754557291\n", - "EP OVER!\n", - "A_Loss: 1028.3776000976563 C_Loss: 10080.125455729167\n", - "EP 59 START\n", - "A_Loss: 979.55380859375 C_Loss: 18168.035872395834\n", - "EP OVER!\n", - "A_Loss: 2799.885953776042 C_Loss: 14584.458203125\n", - "EP 60 START\n", - "A_Loss: 83247.30833333333 C_Loss: 61687910677571.76\n", - "EP OVER!\n", - "A_Loss: 81.43709259033203 C_Loss: 47630220.59791667\n", - "EP 61 START\n", - "A_Loss: 5032.870377604167 C_Loss: 43944.79453125\n", - "EP OVER!\n", - "A_Loss: 9.13815720876058 C_Loss: 2573.8714192708335\n", - "EP 62 START\n", - "A_Loss: 523.7818908691406 C_Loss: 8441.000618489583\n", - "EP OVER!\n", - "A_Loss: 1593.0845377604167 C_Loss: 17598.201953125\n", - "EP 63 START\n", - "A_Loss: 27.476329803466797 C_Loss: 5594.57646484375\n", - "EP OVER!\n", - "A_Loss: 25.40858777364095 C_Loss: 11878.195572916668\n", - "EP 64 START\n", - "A_Loss: 3347.620393880208 C_Loss: 15555.9111328125\n", - "EP OVER!\n", - "A_Loss: 25.35328992207845 C_Loss: 7923.337727864583\n", - "EP 65 START\n", - "A_Loss: 1800.478165690104 C_Loss: 36845.799479166664\n", - "EP OVER!\n", - "A_Loss: 544.9222574869792 C_Loss: 2949.7829752604166\n", - "EP 66 START\n", - "A_Loss: 238.4148183186849 C_Loss: 2108.7259195963543\n", - "EP OVER!\n", - "A_Loss: 10.808652464548747 C_Loss: 1069.8261800130208\n", - "EP 67 START\n", - "A_Loss: 7.2742944399515785 C_Loss: 1112.0956298828125\n", - "EP OVER!\n", - "A_Loss: 686.372725423177 C_Loss: 1421.539111328125\n", - "EP 68 START\n", - "A_Loss: 38.04718589782715 C_Loss: 2771.959724934896\n", - "EP OVER!\n", - "A_Loss: 1133.577986653646 C_Loss: 5758.061686197917\n", - "EP 69 START\n", - "A_Loss: 402.1093465169271 C_Loss: 3987.9388671875\n", - "EP OVER!\n", - "A_Loss: -1.7969589630762737 C_Loss: 2884.10732421875\n", - "EP 70 START\n", - "A_Loss: 1016.8031656901042 C_Loss: 6636.073665364584\n", - "EP OVER!\n", - "A_Loss: 939.9079630533854 C_Loss: 3692.443391927083\n", - "EP 71 START\n", - "A_Loss: -107.65687510172526 C_Loss: 21740540498583.367\n", - "EP OVER!\n", - "A_Loss: 5876.485221354166 C_Loss: 50534.828385416666\n", - "EP 72 START\n", - "A_Loss: 219.98338216145834 C_Loss: 2713.9967041015625\n", - "EP OVER!\n", - "A_Loss: 433.9121032714844 C_Loss: 950.6825520833333\n", - "EP 73 START\n", - "A_Loss: 933.4014811197917 C_Loss: 1297.3184733072917\n", - "EP OVER!\n", - "A_Loss: 2035.8281412760416 C_Loss: 3957.7666178385416\n", - "EP 74 START\n", - "A_Loss: 479.3147298177083 C_Loss: 1727.3513753255208\n", - "EP OVER!\n", - "A_Loss: 579.0808024088542 C_Loss: 635.3917744954427\n", - "EP 75 START\n", - "A_Loss: 1450.3585856119792 C_Loss: 2148.2808756510417\n", - "EP OVER!\n", - "A_Loss: 917.6628540039062 C_Loss: 1192.1792277018228\n", - "EP 76 START\n", - "A_Loss: 888.0876180013021 C_Loss: 1050.4912679036458\n", - "EP OVER!\n", - "A_Loss: 249.14984232584635 C_Loss: 9789.355598958333\n", - "EP 77 START\n", - "A_Loss: 346.7358866373698 C_Loss: 1828.4739990234375\n", - "EP OVER!\n", - "A_Loss: 15.01647071838379 C_Loss: 1649.2421305338542\n", - "EP 78 START\n", - "A_Loss: 2058.658439127604 C_Loss: 1996.608447265625\n", - "EP OVER!\n", - "A_Loss: 155.17740580240886 C_Loss: 575.6137990315755\n", - "EP 79 START\n", - "A_Loss: 1246.8288167317708 C_Loss: 1408.468212890625\n", - "EP OVER!\n", - "A_Loss: 175.76889241536458 C_Loss: 825.604911295573\n", - "EP 80 START\n", - "A_Loss: 10138501.666666666 C_Loss: 33048526138440.633\n" + "A_Loss: 4103941.316666667 C_Loss: 410607418692949.3\n" + ] + }, + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: 'PPO-Model/09052116/211645/-53'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_15440/420232317.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 86\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mepTotalReward\u001b[0m \u001b[1;33m>\u001b[0m \u001b[0mmaxTotalReward\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mepTotalReward\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 87\u001b[0m \u001b[0mmaxTotalReward\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mepTotalReward\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 88\u001b[1;33m \u001b[0magent\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msaveWeights\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mepTotalReward\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 89\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"New Record! Save NN\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mepTotalReward\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 90\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\Users\\UCUNI\\OneDrive\\Unity\\ML-Agents\\Aimbot-PPO\\Aimbot-PPO-Python\\PPO.py\u001b[0m in \u001b[0;36msaveWeights\u001b[1;34m(self, score)\u001b[0m\n\u001b[0;32m 403\u001b[0m \u001b[1;31m# create an empty file named as score to recored score\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 404\u001b[0m \u001b[0mscore_dir\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msaveDir\u001b[0m\u001b[1;33m+\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstrftime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"%H%M%S\"\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m\"/\"\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mround\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mscore\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 405\u001b[1;33m \u001b[0mscorefile\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mscore_dir\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'w'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 406\u001b[0m \u001b[0mscorefile\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 407\u001b[0m \u001b[0mactor_save_dir\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msaveDir\u001b[0m\u001b[1;33m+\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstrftime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"%H%M%S\"\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m\"/actor/\"\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m\"actor.ckpt\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'PPO-Model/09052116/211645/-53'" ] } ], @@ -528,7 +211,7 @@ "for ep in range(MAX_EP):\n", " print(\"EP \",ep,\" START\")\n", " # first time run game\n", - " s,_,_,_ = env.reset()\n", + " s,_,_,_,_ = env.reset()\n", " if (ep == 0):\n", " epBuffer = buffer.buffer()\n", " s = s.reshape([STATE_SIZE])\n", @@ -556,6 +239,9 @@ " epRewardHis = []\n", " epActorLossHis = []\n", " epCriticLossHis = []\n", + " \n", + " # save weight immediately?\n", + " saveNow = 0;\n", "\n", " while not done:\n", " step += 1\n", @@ -564,7 +250,7 @@ " disAct1,disAct2,disAct3,conAct,predictResult = agent.chooseAction(s)\n", " kW, kS, kA, kD, mouseShoot, mouseMove = actToKey(disAct1,disAct2,disAct3,conAct)\n", " \n", - " nextState,thisReward,done,_ = env.step(discreteActions=np.array([[kW, kS, kA, kD, mouseShoot]]),continuousActions=np.array([[mouseMove]]))\n", + " nextState,thisReward,done,_,saveNow = env.step(discreteActions=np.array([[kW, kS, kA, kD, mouseShoot]]),continuousActions=np.array([[mouseMove]]))\n", "\n", " epTotalReward += thisReward\n", " epBuffer.saveBuffers(s,[disAct1,disAct2,disAct3,conAct],thisReward)\n", @@ -572,13 +258,17 @@ " disActs = np.array([[0,0,0,0,0]])\n", " conActs = np.array([[0]])\n", "\n", - " nextState,thisReward,done,_ = env.step(discreteActions=disActs,continuousActions=conActs)\n", + " nextState,thisReward,done,_,saveNow = env.step(discreteActions=disActs,continuousActions=conActs)\n", " epTotalReward += thisReward\n", " nextState = nextState.reshape([STATE_SIZE])\n", " s = nextState\n", " \n", " if done:\n", " print(\"EP OVER!\")\n", + " if saveNow != 0:\n", + " print(\"SAVENOW!\")\n", + " saveNow = 0\n", + " agent.saveWeights()\n", " # update PPO after Batch step or GameOver\n", " if (step+1)%BATCH == 0 or done:\n", " bs = epBuffer.getStates()\n",