Aimbot-PPO/Aimbot-PPO-Python/DemoRecorder.ipynb
Koha9 2a498f18f6 GAIL Class, human action record future added
add GAIL GAILMem GAILConfig Class.
add HumanAction record to save expert data.
add tackState future for stack multiple states to let agent knows what happened before.
2022-10-14 19:05:02 +09:00

624 lines
22 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"√√√√√Enviroment Initialized Success√√√√√\n",
"√√√√√Buffer Initialized Success√√√√√\n"
]
}
],
"source": [
"import time\n",
"import aimBotEnv\n",
"from GAILMem import GAILMem\n",
"from HumanAction import HumanActions\n",
"\n",
"# Env\n",
"ENV_PATH = \"./Build-CloseEnemyCut/Aimbot-PPO\"\n",
"WORKER_ID = 1\n",
"BASE_PORT = 200\n",
"\n",
"# ENV Para\n",
"MOUSEDISCOUNT = 20.0\n",
"MAX_EP = 10000000\n",
"STACKSTATESIZE = 3\n",
"STACKINTERCE = 29\n",
"\n",
"env = aimBotEnv.makeEnv(\n",
" envPath=ENV_PATH,\n",
" workerID=WORKER_ID,\n",
" basePort=BASE_PORT,\n",
" stackSize=STACKSTATESIZE,\n",
" stackIntercal=STACKINTERCE,\n",
")\n",
"demoMem = GAILMem()\n",
"demoAct = HumanActions(mouseDiscount=MOUSEDISCOUNT)\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"EP Start\n",
"EP Start\n",
"EP Start\n",
"nowMemNum 743\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"c:\\Users\\UCUNI\\OneDrive\\Unity\\ML-Agents\\Aimbot-PPO\\Aimbot-PPO-Python\\GAILMem.py:33: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.\n",
" actionsNP = np.asarray(self.actions)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"nowMemNum 993\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 1199\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 1426\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 1671\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 1890\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 2097\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 2307\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 2510\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 2710\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 2889\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 3079\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 3263\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 3506\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 3764\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 3982\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 4155\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 4338\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 4530\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 4749\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 4979\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 5159\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 5358\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 5641\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 5887\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 6085\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 6312\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 6471\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 6691\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 6885\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 7086\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 7248\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 7437\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 7608\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 7788\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 8020\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 8193\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 8447\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 8675\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 8869\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 9046\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 9260\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 9469\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 9633\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 9802\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 10019\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 10205\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 10387\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 10657\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 10834\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 11071\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 11284\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 11516\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 11735\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 11948\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 12157\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 12330\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 12565\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 12768\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 12944\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 13129\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 13292\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 13590\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 13765\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 13921\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 14083\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 14254\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 14445\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 14662\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 14833\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 15056\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 15258\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 15425\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 15590\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 15829\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 16057\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 16237\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 16411\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 16612\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 16812\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 17001\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 17173\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 17342\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 17515\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 17715\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 17890\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 18072\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 18261\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 18489\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 18701\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 18886\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 19100\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 19318\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 19487\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 19670\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 19881\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 20041\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 20279\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 20491\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 20679\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 20877\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 21070\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 21305\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 21519\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 21760\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 21936\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 22135\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 22304\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 22512\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 22706\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 22882\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 23123\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 23290\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 23453\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 23707\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 23942\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 24153\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 24346\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 24573\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 24757\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n",
"nowMemNum 24957\n",
"lastMemCheckPoint 1\n",
"mem_saved\n",
"EP Start\n"
]
},
{
"ename": "UnityCommunicatorStoppedException",
"evalue": "Communicator has exited.",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mUnityCommunicatorStoppedException\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_19308/2258777724.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;32mwhile\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mdone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[0mactions\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdemoAct\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgetHumanActions\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----> 9\u001b[1;33m \u001b[0mnextState\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0m_\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0m_\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0m_\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0menv\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstep\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mactions\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mactions\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 10\u001b[0m \u001b[0mdemoMem\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msaveMems\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstate\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mstate\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mactorProb\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maction\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mactions\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreward\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdone\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[0mstate\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnextState\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\Users\\UCUNI\\OneDrive\\Unity\\ML-Agents\\Aimbot-PPO\\Aimbot-PPO-Python\\aimBotEnv.py\u001b[0m in \u001b[0;36mstep\u001b[1;34m(self, actions, behaviorName, trackedAgent)\u001b[0m\n\u001b[0;32m 86\u001b[0m \u001b[1;31m# take action to env\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 87\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0menv\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_actions\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbehavior_name\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mbehaviorName\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maction\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mthisActionTuple\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 88\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0menv\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstep\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[0m\u001b[0;32m 89\u001b[0m \u001b[1;31m# get nextState & reward & done after this action\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 90\u001b[0m \u001b[0mnextState\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreward\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mloadDir\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msaveNow\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgetSteps\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbehaviorName\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtrackedAgent\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\Users\\UCUNI\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\mlagents_envs\\timers.py\u001b[0m in \u001b[0;36mwrapped\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 303\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mwrapped\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\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 304\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mhierarchical_timer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__qualname__\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--> 305\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\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 306\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 307\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mwrapped\u001b[0m \u001b[1;31m# type: ignore\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\Users\\UCUNI\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\mlagents_envs\\environment.py\u001b[0m in \u001b[0;36mstep\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 333\u001b[0m \u001b[0moutputs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_communicator\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexchange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mstep_input\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_poll_process\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 334\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0moutputs\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 335\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mUnityCommunicatorStoppedException\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Communicator has exited.\"\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 336\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_update_behavior_specs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0moutputs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 337\u001b[0m \u001b[0mrl_output\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0moutputs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrl_output\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mUnityCommunicatorStoppedException\u001b[0m: Communicator has exited."
]
}
],
"source": [
"gailExpertDataDir = \"GAIL-Expert-Data/\"\n",
"state, _, _, _, _ = env.reset()\n",
"\n",
"for ep in range(MAX_EP):\n",
" print(\"EP Start\")\n",
" done = False\n",
" while not done:\n",
" actions = demoAct.getHumanActions()\n",
" nextState, _, done, _, _ = env.step(actions=actions)\n",
" demoMem.saveMems(state=state, actorProb=None, action=actions, reward=None, done=None)\n",
" state = nextState\n",
" nowMemNum = demoMem.memNum\n",
" saveSteps = 500\n",
" lastMemCheckPoint = 0\n",
" if nowMemNum / saveSteps >= lastMemCheckPoint + 1:\n",
" lastMemCheckPoint +=1\n",
" print(\"nowMemNum\", nowMemNum)\n",
" print(\"lastMemCheckPoint\", lastMemCheckPoint)\n",
" demoMem.saveMemtoFile(gailExpertDataDir)\n",
" print(\"mem_saved\")\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.9.7 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "86e2db13b09bd6be22cb599ea60c1572b9ef36ebeaa27a4c8e961d6df315ac32"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}