{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/songci/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:34: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n", " from ._conv import register_converters as _register_converters\n" ] } ], "source": [ "from pycuber_sc import Cube\n", "import numpy as np\n", "import tensorflow as tf\n", "from collections import deque\n", "import itertools\n", "import sys\n", "from collections import defaultdict\n", "import json\n", "from matplotlib import pyplot as plt\n", "plt.rcParams['figure.figsize'] = [30, 10]\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# read this http://rubiks.wikia.com/wiki/Notation\n", "action_space = ['u', 'd', 'l', 'r', 'f', 'b', 'u\\'', 'd\\'', 'l\\'', 'r\\'', 'f\\'', 'b\\'']" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "class Env:\n", " def __init__(self, tweaked_times_limit=100, tweaked_times=1):\n", " \"\"\"\n", " @param tweaked_times_limit 放弃旋转之前尝试的次数\n", " @param tweaked_times 初始化一个魔方前旋转的次数\n", " \"\"\"\n", " self._cube = Cube()\n", " # 随机初始化一个魔方\n", " for _ in range(tweaked_times):\n", " self._cube(str(np.random.choice(action_space)))\n", " self.reset()\n", " self.nA = len(action_space)\n", " self.nS = len(self._get_state())\n", " self._tweaked_times_limit = tweaked_times_limit\n", " \n", " def reset(self):\n", " \"\"\"\n", " 重置这个环境的时候将魔方恢复到初始状态\n", " \"\"\"\n", " self.cube = self._cube.copy()\n", " self.tweaked_times = 0\n", " return self._get_state()\n", " \n", " def step(self, action):\n", " self.cube(str(action_space[action]))\n", " self.tweaked_times += 1\n", " \n", " done = self.cube.check() or self.tweaked_times > self._tweaked_times_limit #完成或者放弃\n", " \n", " reward = -0.1 if not self.cube.check() else 1 # -0.1是生存的代价,负值保证了智能体不会在收集芝麻的道路上乐此不疲\n", " return self._get_state(), reward, done, None \n", " \n", " def _get_state(self):\n", " \"\"\"\n", " 将状态归一化之后,重组为元组类型\n", " \"\"\"\n", " return tuple(s / 5. for s in self.cube.get_state())" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Q = defaultdict(lambda :np.zeros(len(action_space)))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "json.dump([{'key': key, 'value': list(value)} for key, value in Q.items()], open('./Q.json', 'w'))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Q_ = Q.copy()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Q = Q_.copy()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n" ] } ], "source": [ "lines = 0\n", "with open('./Q.csv', 'r') as f:\n", " for line in f:\n", " lines += 1\n", "print(lines)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def _reload_Q():\n", " Q = defaultdict(lambda :np.zeros(len(action_space)))\n", " Q_stage = json.load(open('./Q.json', 'r'))\n", " for pair in Q_stage:\n", " Q[tuple(pair['key'])] = np.array(pair['value'])\n", " return Q\n", "\n", "Q = _reload_Q()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "env = Env()\n", "nA = env.nA\n", "nS = env.nS\n", "with open('./Q.csv', 'w') as f:\n", " header = ','.join(['s{}'.format(k_) for k_ in range(nS)]) + ',' \\\n", " + ','.join(['v{}'.format(k_) for k_ in range(nA)]) + '\\n'\n", " f.write(header)\n", " \n", " _Q = {}\n", " \n", " for times in range(6):\n", " for _ in range(5 * 6 ** times):\n", " env = Env(tweaked_times=times)\n", " state = env.reset()\n", " _Q[state] = Q[state]\n", " \n", " for key, value in _Q.items():\n", " string = ','.join([str(k) for k in key]) + ',' + ','.join([str(v) for v in value]) + '\\n'\n", " f.write(string)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "env = Env()\n", "nA = env.nA\n", "nS = env.nS\n", "header = ','.join(['s{}'.format(k_) for k_ in range(nS)]) + ',' \\\n", " + ','.join(['v{}'.format(k_) for k_ in range(nA)]) + '\\n'" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "header" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "env = Env()\n", "nA = env.nA\n", "nS = env.nS\n", "with open('./Q.csv', 'w') as f:\n", " header = ','.join(['s{}'.format(k_) for k_ in range(nS)]) + ',' \\\n", " + ','.join(['v{}'.format(k_) for k_ in range(nA)]) + '\\n'\n", " f.write(header)\n", " for key, value in Q.items():\n", " string = ','.join([str(k) for k in key]) + ',' + ','.join([str(v) for v in value]) + '\\n'\n", " f.write(string)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "datsv = pd.read_csv('./Q.csv').astype(np.float32)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "class Actor:\n", " def __init__(self, env, scope='actor'):\n", " self._num_input = env.nS\n", " self._num_output = env.nA\n", " with tf.variable_scope(scope):\n", " self._x = tf.placeholder(dtype=tf.float32, shape=[None, self._num_input], name='x')\n", " self._y = tf.placeholder(dtype=tf.float32, shape=[None, self._num_output], name='y')\n", " self._training = tf.placeholder_with_default(True, shape=(), name='training')\n", "\n", " o0 = tf.layers.dense(self._x, 64, activation=tf.nn.relu, name='output-0')\n", " d0 = tf.layers.dropout(o0, rate=0.7, training=self._training, name='dropout-0')\n", " o1 = tf.layers.dense(d0, 64, activation=tf.nn.relu, name='output-1')\n", " d1 = tf.layers.dropout(o1, rate=0.7, training=self._training, name='dropout-1')\n", " o2 = tf.layers.dense(d1, 64, activation=tf.nn.relu, name='output-2')\n", " d2 = tf.layers.dropout(o2, rate=0.7, training=self._training, name='dropout-2')\n", " self._pred = tf.layers.dense(d2, self._num_output, activation=tf.nn.softmax, name='pred')\n", "\n", " self._loss = tf.nn.softmax_cross_entropy_with_logits(labels=self._y, logits=self._pred)\n", " self._op = tf.train.AdamOptimizer(learning_rate=.01).minimize(self._loss)\n", "\n", " def train(self, sess, x, y):\n", " assert isinstance(sess, tf.Session)\n", " loss, _ = sess.run([self._loss, self._op], feed_dict={self._x: x, self._y: y, self._training: True})\n", " return loss\n", "\n", " def predict(self, sess, x):\n", " assert isinstance(sess, tf.Session)\n", " return sess.run(self._pred, feed_dict={self._x: x, self._training: False})\n", "\n", "\n", "class Critic:\n", " def __init__(self, env, scope='critic'):\n", " self._num_input = env.nS\n", " self._num_output = env.nA\n", " with tf.variable_scope(scope):\n", " self._x = tf.placeholder(dtype=tf.float32, shape=[None, self._num_input], name='x')\n", " self._y = tf.placeholder(dtype=tf.float32, shape=[None, self._num_output], name='y')\n", " self._action = tf.placeholder(dtype=tf.int32, shape=[None, 1], name='action')\n", " self._training = tf.placeholder_with_default(True, shape=(), name='training')\n", "\n", " this_batch_size = tf.shape(self._x)[0]\n", " o0 = tf.layers.dense(self._x, 64, activation=tf.nn.relu, name='output-0')\n", " d0 = tf.layers.dropout(o0, rate=0.7, training=self._training, name='dropout-0')\n", " o1 = tf.layers.dense(d0, 64, activation=tf.nn.relu, name='output-1')\n", " d1 = tf.layers.dropout(o1, rate=0.7, training=self._training, name='dropout-1')\n", " o2 = tf.layers.dense(d1, 64, activation=tf.nn.relu, name='output-2')\n", " d2 = tf.layers.dropout(o2, rate=0.7, training=self._training, name='dropout-2')\n", " self._pred = tf.layers.dense(d2, self._num_output, activation=None, name='pred')\n", "\n", " indices = tf.range(this_batch_size, dtype=tf.int32) * self._num_output + tf.squeeze(self._action)\n", " preds = tf.reshape(tf.gather(tf.reshape(self._pred, shape=[-1]), indices), shape=[1, this_batch_size])\n", " y = tf.reshape(tf.gather(tf.reshape(self._y, shape=[-1]), indices), shape=[1, this_batch_size])\n", " \n", " #define pre-train methods\n", " self._pre_train_loss = tf.losses.mean_squared_error(self._y, self._pred)\n", " self._pre_train_op = tf.train.AdamOptimizer(0.1).minimize(self._pre_train_loss)\n", " \n", " self._loss = tf.losses.mean_squared_error(y, preds)\n", " self._op = tf.train.AdamOptimizer(0.1).minimize(self._loss)\n", "\n", " def train(self, sess, x, y, action):\n", " assert isinstance(sess, tf.Session)\n", " loss, _ = sess.run([self._loss, self._op], feed_dict={self._x: x, self._y: y, self._action: action, self._training: True})\n", " return loss\n", "\n", " def predict(self, sess, x):\n", " assert isinstance(sess, tf.Session)\n", " return sess.run(self._pred, feed_dict={self._x: x, self._training:False})\n", " \n", " def pre_train(self, sess, x, y):\n", " assert isinstance(sess, tf.Session)\n", " loss, _ = sess.run([self._pre_train_loss, self._pre_train_op], feed_dict={self._x: x, self._y: y})\n", " return loss\n", " \n", " def pre_train_loss(self, sess, x, y):\n", " assert isinstance(sess, tf.Session)\n", " return sess.run(self._pre_train_loss, feed_dict={self._x: x, self._y: y})" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "scrolled": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/songci/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/gradients_impl.py:98: UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape. This may consume a large amount of memory.\n", " \"Converting sparse IndexedSlices to a dense Tensor of unknown shape. \"\n" ] } ], "source": [ "tf.reset_default_graph()\n", "sess = tf.Session()\n", "env = Env()\n", "nS = env.nS\n", "nA = env.nA\n", "critic = Critic(env)\n", "num_row = len(datsv)\n", "batch_size = 200\n", "batch_num = int((num_row / batch_size) + 1)\n", "sess.run(tf.global_variables_initializer())" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def _train(d):\n", " dat = d.sample(frac=1.)\n", " \n", " for batch_idx in range(batch_num):\n", " batch = dat.iloc[batch_idx * batch_size: (batch_idx + 1) * batch_size, :]\n", " batch_x = batch.iloc[:, :nS]\n", " batch_y = batch.iloc[:, nS:]\n", " critic.pre_train(sess, batch_x, batch_y)\n", " return critic.pre_train_loss(sess, dat.iloc[:, :nS], dat.iloc[:, nS:])" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "epoc no. 49" ] } ], "source": [ "losses = []\n", "for epoc_idx in range(50):\n", " print('\\repoc no. {:>10}'.format(epoc_idx), end='')\n", " losses.append(_train(datsv))" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(losses)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# test the trained critic network\n", "\n", "def get_action(state):\n", " state = np.array(state).reshape([1, -1])\n", " preds = critic.predict(sess=sess, x=state)\n", " return np.argmax(preds)\n", "\n", "env = Env(tweaked_times=3, tweaked_times_limit=6)\n", "steps = []\n", "for _ in range(100):\n", " state = env.reset()\n", " for t in itertools.count():\n", " action = get_action(state)\n", " state_prime, reward, done, _ = env.step(action)\n", " \n", " if done:\n", " steps.append(t)\n", " break\n", " else:\n", " state = state_prime" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "plt.plot(steps)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "scrolled": false }, "outputs": [], "source": [ "#epsilon = .05\n", "epsilon = 0\n", "def get_action(state):\n", " \"\"\"\n", " 保证策略可以在贪婪性上做出变化\n", " 此处的贪婪系数为0,是因为在这种环境下,贪婪策略不会导致智能体永远选择 次好的 动作(随着魔方初始旋转次数的增加,可以考虑改变贪婪系数探索更优策略的可能)\n", " \"\"\"\n", " probs = np.ones(nA) * (epsilon / nA)\n", " probs[np.argmax(Q[state])] += (1. - epsilon)\n", " return np.random.choice(np.arange(nA), p=probs)\n", "\n", "for n in range(0, 6): # n代表了初始化的魔方的旋转次数(如果直接选择较大的旋转次数,会增加训练的智能体的迷茫)\n", " for i in range(5 * (6 ** n)): # 5 * 6 ** n 稍微加强了智能体遍历各种魔方状态的可能(但是泛化能力几乎为零,这种方法类似于MC方法的暴力美学)\n", " # implement Sarsa with one Q in the above cell\n", " env = Env(tweaked_times=n, tweaked_times_limit=n * 2)\n", " num_episode = 100 # 一种初始状态下的最多的尝试次数\n", "\n", " discounter = 0.9 # temporal difference (TD) 中的折扣系数 lambda 参见 贝尔曼方程 bellman equation https://en.wikipedia.org/wiki/Bellman_equation\n", " sum_rewards = deque(maxlen=30)\n", " avg_sum_rewards = []\n", " nA = env.nA\n", "\n", " for episode_idx in range(num_episode):\n", " state = env.reset()\n", " action = get_action(state)\n", " \n", " td_errors = 0 # Q-V 的误差累积值\n", "\n", " rewards = 0\n", " for t in itertools.count():\n", " \n", " state_prime, reward, done, _ = env.step(action)\n", " rewards += reward\n", " action_prime = get_action(state_prime)\n", " td_error = reward + discounter * Q[state_prime][action_prime] - Q[state][action] # 参见 https://en.wikipedia.org/wiki/Temporal_difference_learning\n", " Q[state][action] += td_error * 0.3 # 0.3是学习率 eta\n", " \n", " td_errors += np.abs(td_error)\n", "\n", " if done:\n", " break\n", " else:\n", " state = state_prime\n", " action = action_prime\n", " sum_rewards.append(rewards)\n", " avg_sum_rewards.append(np.mean(sum_rewards))\n", " \n", " print('\\r {} {} {} {:>30}'.format(n, i, episode_idx, td_errors), end='')\n", " if td_errors < 10 ** -5: # 如果累积的误差已经很小的话,没有必要再持续尝试(state value近乎收敛)\n", " break\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# implement Sarsa with one Q in the above cell\n", "env = Env(tweaked_times=5)\n", "num_episode = 100\n", "#epsilon = .05\n", "epsilon = 0\n", "discounter = 0.9\n", "sum_rewards = deque(maxlen=30)\n", "avg_sum_rewards = []\n", "nA = env.nA\n", "\n", "def get_action(state):\n", " probs = np.ones(nA) * (epsilon / nA)\n", " probs[np.argmax(Q[state])] += (1. - epsilon)\n", " return np.random.choice(np.arange(nA), p=probs)\n", "\n", "for episode_idx in range(num_episode):\n", " state = env.reset()\n", " action = get_action(state)\n", "\n", " rewards = 0\n", " for t in itertools.count():\n", " state_prime, reward, done, _ = env.step(action)\n", " rewards += reward\n", " action_prime = get_action(state_prime)\n", " Q[state][action] += (reward + discounter * Q[state_prime][action_prime] - Q[state][action]) * 0.3\n", "\n", " if done:\n", " break\n", " else:\n", " state = state_prime\n", " action = action_prime\n", " sum_rewards.append(rewards)\n", " avg_sum_rewards.append(np.mean(sum_rewards))\n", "\n", "\n", "plt.plot(avg_sum_rewards)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Q = defaultdict(lambda :np.zeros(len(action_space)))\n", "env = Env()\n", "num_episode = 150\n", "#epsilon = .05\n", "epsilon = 0\n", "discounter = 0.9\n", "sum_rewards = deque(maxlen=30)\n", "avg_sum_rewards = []\n", "nA = env.nA\n", "\n", "def get_action(state):\n", " probs = np.ones(nA) * (epsilon / nA)\n", " probs[np.argmax(Q[state])] += (1. - epsilon)\n", " return np.random.choice(np.arange(nA), p=probs)\n", "\n", "for episode_idx in range(num_episode):\n", " state = env.reset()\n", " action = get_action(state)\n", " \n", " rewards = 0\n", " for t in itertools.count():\n", " state_prime, reward, done, _ = env.step(action)\n", " rewards += reward\n", " action_prime = get_action(state_prime)\n", " Q[state][action] += (reward + discounter * Q[state_prime][action_prime] - Q[state][action]) * 0.3\n", " \n", " if done:\n", " break\n", " else:\n", " state = state_prime\n", " action = action_prime\n", " sum_rewards.append(rewards)\n", " avg_sum_rewards.append(np.mean(sum_rewards))\n", "plt.plot(avg_sum_rewards)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Q = defaultdict(lambda :np.zeros([len(action_space), 2]))\n", "env = Env()\n", "num_episode = 150\n", "#epsilon = .05\n", "epsilon = 0\n", "discounter = 0.9\n", "nA = env.nA\n", "sum_rewards = deque(maxlen=30)\n", "avg_sum_rewards1 = []\n", "\n", "def get_action(state):\n", " probs = np.ones(nA) * (epsilon / nA)\n", " probs[np.argmax(Q[state][:, 0])] += (1. - epsilon)\n", " return np.random.choice(np.arange(nA), p=probs)\n", "\n", "for episode_idx in range(num_episode):\n", " state = env.reset()\n", " rewards = 0\n", " for t in itertools.count():\n", " action = get_action(state)\n", " state_prime, reward, done, _ = env.step(action)\n", " rewards += reward\n", " \n", " action_value = reward + discounter * np.max(np.squeeze(Q[state_prime][:, 0]))\n", " Q[state][action][0] += (action_value - Q[state][action][0]) / (Q[state][action][1] + 1)\n", " Q[state][action][1] += 1\n", " \n", " if done:\n", " break\n", " else:\n", " state = state_prime\n", " sum_rewards.append(rewards)\n", " avg_sum_rewards1.append(np.mean(sum_rewards))\n", "plt.plot(avg_sum_rewards1)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Q = defaultdict(lambda :np.zeros(len(action_space)))\n", "env = Env()\n", "num_episode = 150\n", "#epsilon = .05\n", "epsilon = 0\n", "discounter = 0.9\n", "nA = env.nA\n", "sum_rewards = deque(maxlen=30)\n", "avg_sum_rewards2 = []\n", "\n", "def get_action(state):\n", " probs = np.ones(nA) * (epsilon / nA)\n", " probs[np.argmax(Q[state])] += (1. - epsilon)\n", " return np.random.choice(np.arange(nA), p=probs)\n", "\n", "for episode_idx in range(num_episode):\n", " state = env.reset()\n", " rewards = 0\n", " for t in itertools.count():\n", " action = get_action(state)\n", " state_prime, reward, done, _ = env.step(action)\n", " rewards += reward\n", " \n", " action_value = reward + discounter * np.max(np.squeeze(Q[state_prime]))\n", " Q[state][action] += (action_value - Q[state][action]) * .3\n", " \n", " if done:\n", " break\n", " else:\n", " state = state_prime\n", " sum_rewards.append(rewards)\n", " avg_sum_rewards2.append(np.mean(sum_rewards))\n", "plt.plot(avg_sum_rewards2)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "plt.plot(avg_sum_rewards1, label='Q-learning_avg')\n", "plt.plot(avg_sum_rewards, label='Sarsa')\n", "plt.plot(avg_sum_rewards2, label='Q-learning_discount')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "Q[env.reset()]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "action_space[np.argmax(Q[env.reset()][:, 0])]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "env.cube(str(action_space[np.argmax(Q[env.reset()][:, 0])])).check()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "env = Env()\n", "ret = []\n", "for _ in range(1200):\n", " env.reset()\n", " env.cube(str(np.random.choice(action_space)))\n", " ret.append(env.cube.check())" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "scrolled": true }, "outputs": [], "source": [ "np.sum(ret)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "scrolled": false }, "outputs": [], "source": [ "num_episode = 3000\n", "memory = deque(maxlen=100)\n", "tf.reset_default_graph()\n", "env = Env()\n", "actor, critic = Actor(env), Critic(env)\n", "session = tf.Session()\n", "session.run(tf.global_variables_initializer())\n", "\n", "rewards = []\n", "loss_critic = []\n", "\n", "rewards_deque = deque(maxlen=80)\n", "epsilons = np.linspace(start=.5, stop=.01, num=num_episode + 1)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "scrolled": true }, "outputs": [], "source": [ "for episode_idx in range(num_episode):\n", " epsilon = epsilons[episode_idx]\n", " state = env.reset()\n", " for t in itertools.count():\n", " probs = np.ones(env.nA) * (epsilon / env.nA)\n", " probs[np.argmax(np.squeeze(actor.predict(session, np.array(state).reshape(1, env.nS))))] += (1. - epsilon)\n", " action = np.random.choice(np.arange(env.nA), p=probs)\n", " \n", " state_prime, reward, done, _ = env.step(action)\n", " \n", " rewards.append(reward)\n", " rewards_deque.append(reward)\n", " \n", " if done:\n", " break\n", " else:\n", " memory.append((state, action, state_prime, reward))\n", " \n", " if len(memory) >= memory.maxlen:\n", " print('\\r in episode #{0}, step #{1}, avg score {2:>8}'.format(episode_idx, t, np.mean(rewards_deque)), end='')\n", " sys.stdout.flush()\n", " rp = np.array(memory)[np.random.randint(memory.maxlen, size=50), :]\n", " state_prime_batch = np.array([a for a in rp[:, 2]])\n", " reward_batch = rp[:, 3].reshape(-1, 1)\n", " state_batch = np.array([a for a in rp[:, 0]])\n", " action_batch = rp[:, 1].reshape(-1, 1)\n", "\n", " state_prime_action_values = critic.predict(session, state_prime_batch)\n", " td_target = reward_batch + .8 * state_prime_action_values\n", " td_error = td_target - critic.predict(session, state_batch)\n", "\n", " l_actor = actor.train(session, state_batch, td_error)\n", " l_critic = critic.train(session, state_batch, td_target, action_batch)\n", " \n", " loss_critic.append(l_critic)\n", " \n", " state = state_prime" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "scrolled": false }, "outputs": [], "source": [ "plt.plot(rewards)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "scrolled": false }, "outputs": [], "source": [ "plt.plot(loss_critic)\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }