Change the exploration to switch on an alternative
This commit is contained in:
1 file changed
+93
-249
+93
-249
@@ -369,7 +369,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 66,
|
"execution_count": 9,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
@@ -555,8 +555,8 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"9.81 ms ± 454 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n",
|
"11.7 ms ± 480 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n",
|
||||||
"1 s ± 58.8 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
|
"1.13 s ± 56.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -781,9 +781,9 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"221 µs ± 10.2 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n",
|
"220 µs ± 4.43 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n",
|
||||||
"36.1 µs ± 1.15 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n",
|
"40.8 µs ± 2.84 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n",
|
||||||
"38 µs ± 1.84 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n"
|
"48 µs ± 4.37 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -873,7 +873,7 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"107 ms ± 4.91 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
|
"111 ms ± 6.54 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1048,9 +1048,8 @@
|
|||||||
" else:\n",
|
" else:\n",
|
||||||
" policies = self._internal_policy(boards)\n",
|
" policies = self._internal_policy(boards)\n",
|
||||||
" if self.epsilon < 1:\n",
|
" if self.epsilon < 1:\n",
|
||||||
" policies = policies * self.epsilon + np.random.rand(*boards.shape) * (\n",
|
" random_choices = self.epsilon <= np.random.rand((boards.shape[0]))\n",
|
||||||
" 1 - self.epsilon\n",
|
" policies[random_choices] = np.random.rand(np.sum(random_choices), 8 ,8)\n",
|
||||||
" )\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
" # todo talk to team about backpropagation of score and epsilon for greedy factor\n",
|
" # todo talk to team about backpropagation of score and epsilon for greedy factor\n",
|
||||||
"\n",
|
"\n",
|
||||||
@@ -1176,13 +1175,13 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"1.18 s ± 30.9 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n",
|
"1.36 s ± 131 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n",
|
||||||
"1.08 s ± 19.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
|
"1.27 s ± 59.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"image/png": "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 truncated
|
"image/png": "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 truncated
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<Figure size 1200x600 with 8 Axes>"
|
"<Figure size 1200x600 with 8 Axes>"
|
||||||
]
|
]
|
||||||
@@ -1243,7 +1242,7 @@
|
|||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"image/png": "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 truncated
|
"image/png": "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 truncated
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<Figure size 1200x4800 with 61 Axes>"
|
"<Figure size 1200x4800 with 61 Axes>"
|
||||||
]
|
]
|
||||||
@@ -1342,8 +1341,8 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"peak memory: 341.56 MiB, increment: 0.60 MiB\n",
|
"peak memory: 340.90 MiB, increment: 0.12 MiB\n",
|
||||||
"13.8 s ± 2.52 s per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
|
"11.5 s ± 344 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -1466,7 +1465,7 @@
|
|||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"application/vnd.jupyter.widget-view+json": {
|
"application/vnd.jupyter.widget-view+json": {
|
||||||
"model_id": "fe1d85c24e794ae5846fe8a94060c9a8",
|
"model_id": "c36688a82346478b93118b2d2e49ccfb",
|
||||||
"version_major": 2,
|
"version_major": 2,
|
||||||
"version_minor": 0
|
"version_minor": 0
|
||||||
},
|
},
|
||||||
@@ -1639,7 +1638,7 @@
|
|||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"application/vnd.jupyter.widget-view+json": {
|
"application/vnd.jupyter.widget-view+json": {
|
||||||
"model_id": "3d310e57a7354306b526646684c8029e",
|
"model_id": "71b3b16d0c884da09b6e9bd0b1e401f9",
|
||||||
"version_major": 2,
|
"version_major": 2,
|
||||||
"version_minor": 0
|
"version_minor": 0
|
||||||
},
|
},
|
||||||
@@ -1707,7 +1706,7 @@
|
|||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"application/vnd.jupyter.widget-view+json": {
|
"application/vnd.jupyter.widget-view+json": {
|
||||||
"model_id": "726d422152234131997509a89354059d",
|
"model_id": "80dfe70149954bd7a4b8c591342f6e92",
|
||||||
"version_major": 2,
|
"version_major": 2,
|
||||||
"version_minor": 0
|
"version_minor": 0
|
||||||
},
|
},
|
||||||
@@ -2146,66 +2145,66 @@
|
|||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"array([[ 4, 2],\n",
|
"array([[5, 3],\n",
|
||||||
" [5, 2],\n",
|
" [5, 2],\n",
|
||||||
" [ 6, 2],\n",
|
" [5, 1],\n",
|
||||||
" [ 3, 2],\n",
|
" [6, 3],\n",
|
||||||
" [ 2, 2],\n",
|
" [3, 5],\n",
|
||||||
" [ 4, 1],\n",
|
|
||||||
" [ 5, 4],\n",
|
|
||||||
" [ 4, 5],\n",
|
|
||||||
" [5, 0],\n",
|
" [5, 0],\n",
|
||||||
" [ 2, 3],\n",
|
" [6, 2],\n",
|
||||||
" [ 1, 4],\n",
|
" [7, 3],\n",
|
||||||
" [ 1, 3],\n",
|
" [4, 2],\n",
|
||||||
" [2, 4],\n",
|
" [2, 4],\n",
|
||||||
|
" [1, 3],\n",
|
||||||
|
" [6, 4],\n",
|
||||||
|
" [2, 2],\n",
|
||||||
|
" [2, 6],\n",
|
||||||
|
" [4, 1],\n",
|
||||||
|
" [0, 2],\n",
|
||||||
|
" [4, 5],\n",
|
||||||
|
" [3, 1],\n",
|
||||||
" [4, 0],\n",
|
" [4, 0],\n",
|
||||||
" [3, 0],\n",
|
" [3, 0],\n",
|
||||||
" [ 1, 5],\n",
|
|
||||||
" [ 0, 4],\n",
|
|
||||||
" [2, 5],\n",
|
" [2, 5],\n",
|
||||||
" [ 3, 5],\n",
|
|
||||||
" [ 0, 3],\n",
|
|
||||||
" [1, 6],\n",
|
" [1, 6],\n",
|
||||||
" [ 7, 2],\n",
|
" [1, 4],\n",
|
||||||
|
" [2, 3],\n",
|
||||||
|
" [0, 7],\n",
|
||||||
|
" [0, 4],\n",
|
||||||
|
" [7, 1],\n",
|
||||||
|
" [5, 4],\n",
|
||||||
|
" [2, 1],\n",
|
||||||
" [5, 6],\n",
|
" [5, 6],\n",
|
||||||
" [ 6, 7],\n",
|
" [2, 0],\n",
|
||||||
|
" [1, 1],\n",
|
||||||
|
" [3, 2],\n",
|
||||||
|
" [6, 1],\n",
|
||||||
|
" [0, 5],\n",
|
||||||
" [1, 2],\n",
|
" [1, 2],\n",
|
||||||
" [ 6, 3],\n",
|
" [7, 2],\n",
|
||||||
" [ 5, 3],\n",
|
" [7, 0],\n",
|
||||||
" [ 3, 1],\n",
|
" [6, 0],\n",
|
||||||
" [ 0, 2],\n",
|
" [1, 0],\n",
|
||||||
" [ 0, 1],\n",
|
" [0, 3],\n",
|
||||||
" [4, 6],\n",
|
" [4, 6],\n",
|
||||||
" [1, 7],\n",
|
" [1, 7],\n",
|
||||||
" [ 7, 3],\n",
|
" [1, 5],\n",
|
||||||
" [ 2, 1],\n",
|
|
||||||
" [ 2, 6],\n",
|
|
||||||
" [ 0, 6],\n",
|
|
||||||
" [ 0, 0],\n",
|
|
||||||
" [ 5, 1],\n",
|
|
||||||
" [ 6, 4],\n",
|
|
||||||
" [ 7, 5],\n",
|
|
||||||
" [ 6, 1],\n",
|
|
||||||
" [ 6, 5],\n",
|
|
||||||
" [ 5, 5],\n",
|
|
||||||
" [ 3, 7],\n",
|
|
||||||
" [ 1, 1],\n",
|
|
||||||
" [ 4, 7],\n",
|
|
||||||
" [ 0, 7],\n",
|
|
||||||
" [7, 4],\n",
|
" [7, 4],\n",
|
||||||
" [ 6, 6],\n",
|
" [7, 5],\n",
|
||||||
|
" [4, 7],\n",
|
||||||
" [3, 6],\n",
|
" [3, 6],\n",
|
||||||
|
" [0, 1],\n",
|
||||||
|
" [3, 7],\n",
|
||||||
|
" [5, 5],\n",
|
||||||
|
" [6, 5],\n",
|
||||||
|
" [6, 6],\n",
|
||||||
|
" [0, 0],\n",
|
||||||
|
" [2, 7],\n",
|
||||||
" [5, 7],\n",
|
" [5, 7],\n",
|
||||||
" [7, 7],\n",
|
" [7, 7],\n",
|
||||||
" [ 7, 6],\n",
|
" [0, 6],\n",
|
||||||
" [ 1, 0],\n",
|
" [6, 7],\n",
|
||||||
" [ 7, 1],\n",
|
" [7, 6]], dtype=int8)"
|
||||||
" [ 7, 0],\n",
|
|
||||||
" [ 2, 0],\n",
|
|
||||||
" [ 6, 0],\n",
|
|
||||||
" [ 0, 5],\n",
|
|
||||||
" [-1, -1]], dtype=int8)"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 46,
|
"execution_count": 46,
|
||||||
@@ -2235,7 +2234,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"image/png": "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 truncated
|
"image/png": "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 truncated
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<Figure size 1200x600 with 8 Axes>"
|
"<Figure size 1200x600 with 8 Axes>"
|
||||||
]
|
]
|
||||||
@@ -2245,7 +2244,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"image/png": "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 truncated
|
"image/png": "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 truncated
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<Figure size 1200x600 with 8 Axes>"
|
"<Figure size 1200x600 with 8 Axes>"
|
||||||
]
|
]
|
||||||
@@ -2300,8 +2299,8 @@
|
|||||||
"name": "stdout",
|
"name": "stdout",
|
||||||
"output_type": "stream",
|
"output_type": "stream",
|
||||||
"text": [
|
"text": [
|
||||||
"87.2 ms ± 17.1 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n",
|
"43.4 ms ± 2.56 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n",
|
||||||
"peak memory: 374.24 MiB, increment: 0.00 MiB\n"
|
"peak memory: 371.84 MiB, increment: 0.00 MiB\n"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -2368,7 +2367,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 128,
|
"execution_count": 50,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
@@ -2451,14 +2450,11 @@
|
|||||||
" final_score_fraction=self.final_score_fraction,\n",
|
" final_score_fraction=self.final_score_fraction,\n",
|
||||||
" )\n",
|
" )\n",
|
||||||
" q_rewords[::2, :] *= -1\n",
|
" q_rewords[::2, :] *= -1\n",
|
||||||
" # print(\"Some line to delete\")\n",
|
|
||||||
" # print(q_rewords.shape)\n",
|
|
||||||
" if self.symmetry_mode == SymmetryMode.MULTIPLY:\n",
|
" if self.symmetry_mode == SymmetryMode.MULTIPLY:\n",
|
||||||
" print(q_rewords.shape)\n",
|
|
||||||
" new_q_rewords = np.zeros((2, 2, 2) + q_rewords.shape)\n",
|
" new_q_rewords = np.zeros((2, 2, 2) + q_rewords.shape)\n",
|
||||||
" print(new_q_rewords.shape)\n",
|
" for i, k, j in itertools.product((0, 1), (0, 1), (0, 1)):\n",
|
||||||
" for i, k, l in ittertools.product((0, 1), (0, 1), (0, 1)):\n",
|
" new_q_rewords[i, k, j] = q_rewords\n",
|
||||||
" new_q_rewords = q_rewords[i, k, j] = q_rewords\n",
|
" q_rewords = new_q_rewords\n",
|
||||||
" action_possible = np.array([action_possible] * 8).reshape(-1)\n",
|
" action_possible = np.array([action_possible] * 8).reshape(-1)\n",
|
||||||
"\n",
|
"\n",
|
||||||
" elif self.symmetry_mode == SymmetryMode.BREAK_SEQUENCE:\n",
|
" elif self.symmetry_mode == SymmetryMode.BREAK_SEQUENCE:\n",
|
||||||
@@ -2602,7 +2598,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 129,
|
"execution_count": 51,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"collapsed": false,
|
"collapsed": false,
|
||||||
"jupyter": {
|
"jupyter": {
|
||||||
@@ -2616,7 +2612,7 @@
|
|||||||
"(70, 10, 8, 8)"
|
"(70, 10, 8, 8)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"execution_count": 129,
|
"execution_count": 51,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"output_type": "execute_result"
|
"output_type": "execute_result"
|
||||||
}
|
}
|
||||||
@@ -2630,14 +2626,14 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 130,
|
"execution_count": 52,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"tags": []
|
"tags": []
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"image/png": "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 truncated
|
"image/png": "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 truncated
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<Figure size 1200x600 with 8 Axes>"
|
"<Figure size 1200x600 with 8 Axes>"
|
||||||
]
|
]
|
||||||
@@ -2652,7 +2648,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 131,
|
"execution_count": 54,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"collapsed": false,
|
"collapsed": false,
|
||||||
"jupyter": {
|
"jupyter": {
|
||||||
@@ -2662,33 +2658,7 @@
|
|||||||
"outputs": [
|
"outputs": [
|
||||||
{
|
{
|
||||||
"data": {
|
"data": {
|
||||||
"text/plain": [
|
"image/png": "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 truncated
|
||||||
"(70, 10, 2, 8, 8)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"execution_count": 131,
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "execute_result"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"q_leaning_formatted_action.shape\n",
|
|
||||||
"#"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 132,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": false,
|
|
||||||
"jupyter": {
|
|
||||||
"outputs_hidden": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"image/png": "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 truncated
|
|
||||||
"text/plain": [
|
"text/plain": [
|
||||||
"<Figure size 1200x600 with 8 Axes>"
|
"<Figure size 1200x600 with 8 Axes>"
|
||||||
]
|
]
|
||||||
@@ -2698,7 +2668,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"source": [
|
"source": [
|
||||||
"plot_othello_boards(q_leaning_formatted_action[:8, 0, 1])"
|
"plot_othello_boards(q_leaning_formatted_action[1:9, 0, 1])"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -2724,22 +2694,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 133,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"tags": []
|
"tags": []
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"text/plain": [
|
|
||||||
"'QL-M-G08-WW10-FSF00-DQLNet-MSELoss'"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"execution_count": 133,
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "execute_result"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"ql_policy = QLPolicy(\n",
|
"ql_policy = QLPolicy(\n",
|
||||||
" 0.95,\n",
|
" 0.95,\n",
|
||||||
@@ -2754,7 +2713,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 134,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"tags": []
|
"tags": []
|
||||||
},
|
},
|
||||||
@@ -2765,112 +2724,31 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 126,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"tags": []
|
"tags": []
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"application/vnd.jupyter.widget-view+json": {
|
|
||||||
"model_id": "9decb71e42fc4e81ad4071be089486da",
|
|
||||||
"version_major": 2,
|
|
||||||
"version_minor": 0
|
|
||||||
},
|
|
||||||
"text/plain": [
|
|
||||||
" 0%| | 0/200 [00:00<?, ?it/s]"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "display_data"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"application/vnd.jupyter.widget-view+json": {
|
|
||||||
"model_id": "bc9b419aef164aeca72c4458faad4e5f",
|
|
||||||
"version_major": 2,
|
|
||||||
"version_minor": 0
|
|
||||||
},
|
|
||||||
"text/plain": [
|
|
||||||
" 0%| | 0/10 [00:00<?, ?it/s]"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "display_data"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ename": "KeyboardInterrupt",
|
|
||||||
"evalue": "",
|
|
||||||
"output_type": "error",
|
|
||||||
"traceback": [
|
|
||||||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
|
||||||
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
|
|
||||||
"Cell \u001b[1;32mIn[126], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mql_policy\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m200\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m10\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1000\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m100\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[43mRandomPolicy\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mGreedyPolicy\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
||||||
"Cell \u001b[1;32mIn[120], line 189\u001b[0m, in \u001b[0;36mQLPolicy.train\u001b[1;34m(self, epochs, batches, batch_size, eval_batch_size, compare_with, save_every_epoch, live_plot)\u001b[0m\n\u001b[0;32m 187\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m _ \u001b[38;5;129;01min\u001b[39;00m tqdm(\u001b[38;5;28mrange\u001b[39m(epochs)):\n\u001b[0;32m 188\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m _ \u001b[38;5;129;01min\u001b[39;00m tqdm(\u001b[38;5;28mrange\u001b[39m(batches)):\n\u001b[1;32m--> 189\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtrain_batch\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbatch_size\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 190\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtraining_results\u001b[38;5;241m.\u001b[39mappend(\n\u001b[0;32m 191\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mevaluate_model(compare_with, eval_batch_size)\n\u001b[0;32m 192\u001b[0m )\n\u001b[0;32m 193\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m save_every_epoch:\n",
|
|
||||||
"Cell \u001b[1;32mIn[120], line 104\u001b[0m, in \u001b[0;36mQLPolicy.train_batch\u001b[1;34m(self, nr_of_games)\u001b[0m\n\u001b[0;32m 103\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mtrain_batch\u001b[39m(\u001b[38;5;28mself\u001b[39m, nr_of_games: \u001b[38;5;28mint\u001b[39m):\n\u001b[1;32m--> 104\u001b[0m x_train, y_train \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate_trainings_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnr_of_games\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 105\u001b[0m y_pred \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mneural_network\u001b[38;5;241m.\u001b[39mforward(x_train)\n\u001b[0;32m 106\u001b[0m loss_score \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mloss(y_pred, y_train)\n",
|
|
||||||
"Cell \u001b[1;32mIn[120], line 67\u001b[0m, in \u001b[0;36mQLPolicy.generate_trainings_data\u001b[1;34m(self, generate_data_size)\u001b[0m\n\u001b[0;32m 66\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mgenerate_trainings_data\u001b[39m(\u001b[38;5;28mself\u001b[39m, generate_data_size: \u001b[38;5;28mint\u001b[39m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28mtuple\u001b[39m[torch\u001b[38;5;241m.\u001b[39mTensor, torch\u001b[38;5;241m.\u001b[39mTensor]:\n\u001b[1;32m---> 67\u001b[0m train_boards, train_actions \u001b[38;5;241m=\u001b[39m \u001b[43msimulate_game\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgenerate_data_size\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 68\u001b[0m action_possible \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m~\u001b[39mnp\u001b[38;5;241m.\u001b[39mall(train_actions[:, :] \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m, axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m)\n\u001b[0;32m 69\u001b[0m q_leaning_formatted_action \u001b[38;5;241m=\u001b[39m build_symetry_action(train_boards, train_actions)\n",
|
|
||||||
"Cell \u001b[1;32mIn[23], line 25\u001b[0m, in \u001b[0;36msimulate_game\u001b[1;34m(nr_of_games, policies, tqdm_on)\u001b[0m\n\u001b[0;32m 23\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m policy_index \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m 24\u001b[0m current_boards \u001b[38;5;241m=\u001b[39m current_boards \u001b[38;5;241m*\u001b[39m \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m\n\u001b[1;32m---> 25\u001b[0m current_boards, action_taken \u001b[38;5;241m=\u001b[39m \u001b[43msingle_turn\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcurrent_boards\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpolicy\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 26\u001b[0m action_history_stack[turn_index, :] \u001b[38;5;241m=\u001b[39m action_taken\n\u001b[0;32m 28\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m policy_index \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n",
|
|
||||||
"Cell \u001b[1;32mIn[22], line 15\u001b[0m, in \u001b[0;36msingle_turn\u001b[1;34m(current_boards, policy)\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21msingle_turn\u001b[39m(\n\u001b[0;32m 2\u001b[0m current_boards: np, policy: GamePolicy\n\u001b[0;32m 3\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28mtuple\u001b[39m[np\u001b[38;5;241m.\u001b[39mndarray, np\u001b[38;5;241m.\u001b[39mndarray]:\n\u001b[0;32m 4\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Execute a single turn on a board.\u001b[39;00m\n\u001b[0;32m 5\u001b[0m \n\u001b[0;32m 6\u001b[0m \u001b[38;5;124;03m Places a new stone on the board. Turns captured enemy stones.\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[38;5;124;03m The new game board and the policy vector containing the index of the action used.\u001b[39;00m\n\u001b[0;32m 14\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m---> 15\u001b[0m policy_results \u001b[38;5;241m=\u001b[39m \u001b[43mpolicy\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_policy\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcurrent_boards\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 17\u001b[0m \u001b[38;5;66;03m# if the constant VERIFY_POLICY is set to true the policy is verified. Should be good though.\u001b[39;00m\n\u001b[0;32m 18\u001b[0m \u001b[38;5;66;03m# todo deactivate the policy verification after some testing.\u001b[39;00m\n\u001b[0;32m 19\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m VERIFY_POLICY:\n",
|
|
||||||
"Cell \u001b[1;32mIn[19], line 65\u001b[0m, in \u001b[0;36mGamePolicy.get_policy\u001b[1;34m(self, boards)\u001b[0m\n\u001b[0;32m 58\u001b[0m policies \u001b[38;5;241m=\u001b[39m policies \u001b[38;5;241m*\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mepsilon \u001b[38;5;241m+\u001b[39m np\u001b[38;5;241m.\u001b[39mrandom\u001b[38;5;241m.\u001b[39mrand(\u001b[38;5;241m*\u001b[39mboards\u001b[38;5;241m.\u001b[39mshape) \u001b[38;5;241m*\u001b[39m (\n\u001b[0;32m 59\u001b[0m \u001b[38;5;241m1\u001b[39m \u001b[38;5;241m-\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mepsilon\n\u001b[0;32m 60\u001b[0m )\n\u001b[0;32m 62\u001b[0m \u001b[38;5;66;03m# todo talk to team about backpropagation of score and epsilon for greedy factor\u001b[39;00m\n\u001b[0;32m 63\u001b[0m \n\u001b[0;32m 64\u001b[0m \u001b[38;5;66;03m# todo possibly change this function to only validate the purpose turn and not all turns\u001b[39;00m\n\u001b[1;32m---> 65\u001b[0m possible_turns \u001b[38;5;241m=\u001b[39m \u001b[43mget_possible_turns\u001b[49m\u001b[43m(\u001b[49m\u001b[43mboards\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 66\u001b[0m policies[possible_turns \u001b[38;5;241m==\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1.0\u001b[39m\n\u001b[0;32m 67\u001b[0m max_indices \u001b[38;5;241m=\u001b[39m [\n\u001b[0;32m 68\u001b[0m np\u001b[38;5;241m.\u001b[39munravel_index(policy\u001b[38;5;241m.\u001b[39margmax(), policy\u001b[38;5;241m.\u001b[39mshape) \u001b[38;5;28;01mfor\u001b[39;00m policy \u001b[38;5;129;01min\u001b[39;00m policies\n\u001b[0;32m 69\u001b[0m ]\n",
|
|
||||||
"Cell \u001b[1;32mIn[13], line 60\u001b[0m, in \u001b[0;36mget_possible_turns\u001b[1;34m(boards, tqdm_on)\u001b[0m\n\u001b[0;32m 58\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m poss_turns[game, idx, idy]:\n\u001b[0;32m 59\u001b[0m position \u001b[38;5;241m=\u001b[39m idx, idy\n\u001b[1;32m---> 60\u001b[0m poss_turns[game, idx, idy] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43many\u001b[39;49m\u001b[43m(\u001b[49m\n\u001b[0;32m 61\u001b[0m \u001b[43m \u001b[49m\u001b[43m_recursive_steps\u001b[49m\u001b[43m(\u001b[49m\u001b[43mboards\u001b[49m\u001b[43m[\u001b[49m\u001b[43mgame\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m:\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdirection\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mposition\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m>\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\n\u001b[0;32m 62\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mdirection\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mDIRECTIONS\u001b[49m\n\u001b[0;32m 63\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 64\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m poss_turns\n",
|
|
||||||
"Cell \u001b[1;32mIn[13], line 60\u001b[0m, in \u001b[0;36m<genexpr>\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m 58\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m poss_turns[game, idx, idy]:\n\u001b[0;32m 59\u001b[0m position \u001b[38;5;241m=\u001b[39m idx, idy\n\u001b[1;32m---> 60\u001b[0m poss_turns[game, idx, idy] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28many\u001b[39m(\n\u001b[0;32m 61\u001b[0m _recursive_steps(boards[game, :, :], direction, position) \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m0\u001b[39m\n\u001b[0;32m 62\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m direction \u001b[38;5;129;01min\u001b[39;00m DIRECTIONS\n\u001b[0;32m 63\u001b[0m )\n\u001b[0;32m 64\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m poss_turns\n",
|
|
||||||
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"ql_policy.train(200, 10, 1000, 100, [RandomPolicy(0), GreedyPolicy(0)])"
|
"ql_policy.train(200, 10, 1000, 100, [RandomPolicy(0), GreedyPolicy(0)])"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 55,
|
"execution_count": null,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"ename": "NotImplementedError",
|
|
||||||
"evalue": "",
|
|
||||||
"output_type": "error",
|
|
||||||
"traceback": [
|
|
||||||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
|
||||||
"\u001b[1;31mNotImplementedError\u001b[0m Traceback (most recent call last)",
|
|
||||||
"Cell \u001b[1;32mIn[55], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m\n",
|
|
||||||
"\u001b[1;31mNotImplementedError\u001b[0m: "
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"raise NotImplementedError"
|
"raise NotImplementedError"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 127,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"tags": []
|
"tags": []
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"(70, 1)\n",
|
|
||||||
"(2, 2, 2, 70, 1)\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ename": "IndexError",
|
|
||||||
"evalue": "too many indices for array: array is 2-dimensional, but 3 were indexed",
|
|
||||||
"output_type": "error",
|
|
||||||
"traceback": [
|
|
||||||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
|
||||||
"\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)",
|
|
||||||
"Cell \u001b[1;32mIn[127], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m boards_and_actions, score \u001b[38;5;241m=\u001b[39m \u001b[43mql_policy\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate_trainings_data\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;28mprint\u001b[39m(boards_and_actions\u001b[38;5;241m.\u001b[39mshape)\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28mprint\u001b[39m(score\u001b[38;5;241m.\u001b[39mshape)\n",
|
|
||||||
"Cell \u001b[1;32mIn[120], line 82\u001b[0m, in \u001b[0;36mQLPolicy.generate_trainings_data\u001b[1;34m(self, generate_data_size)\u001b[0m\n\u001b[0;32m 80\u001b[0m new_q_rewords \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mzeros((\u001b[38;5;241m2\u001b[39m,\u001b[38;5;241m2\u001b[39m,\u001b[38;5;241m2\u001b[39m) \u001b[38;5;241m+\u001b[39m q_rewords\u001b[38;5;241m.\u001b[39mshape)\n\u001b[0;32m 81\u001b[0m \u001b[38;5;28mprint\u001b[39m(new_q_rewords\u001b[38;5;241m.\u001b[39mshape)\n\u001b[1;32m---> 82\u001b[0m new_q_rewords \u001b[38;5;241m=\u001b[39m \u001b[43mq_rewords\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m:\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m:\u001b[49m\u001b[43m]\u001b[49m \u001b[38;5;241m=\u001b[39m q_rewords\n\u001b[0;32m 83\u001b[0m action_possible \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marray([action_possible] \u001b[38;5;241m*\u001b[39m \u001b[38;5;241m8\u001b[39m)\u001b[38;5;241m.\u001b[39mreshape(\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m)\n\u001b[0;32m 85\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msymmetry_mode \u001b[38;5;241m==\u001b[39m SymmetryMode\u001b[38;5;241m.\u001b[39mBREAK_SEQUENCE:\n",
|
|
||||||
"\u001b[1;31mIndexError\u001b[0m: too many indices for array: array is 2-dimensional, but 3 were indexed"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"boards_and_actions, score = ql_policy.generate_trainings_data(1)\n",
|
"boards_and_actions, score = ql_policy.generate_trainings_data(1)\n",
|
||||||
"print(boards_and_actions.shape)\n",
|
"print(boards_and_actions.shape)\n",
|
||||||
@@ -2879,67 +2757,33 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 140,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"tags": []
|
"tags": []
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"text/plain": [
|
|
||||||
"torch.Size([480, 2, 8, 8])"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"execution_count": 140,
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "execute_result"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"boards_and_actions.shape"
|
"boards_and_actions.shape"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 138,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"tags": []
|
"tags": []
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"image/png": "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 truncated
|
|
||||||
"text/plain": [
|
|
||||||
"<Figure size 1200x600 with 8 Axes>"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "display_data"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"plot_othello_boards(boards_and_actions[:8, 0])"
|
"plot_othello_boards(boards_and_actions[:8, 0])"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 139,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"tags": []
|
"tags": []
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"text/plain": [
|
|
||||||
"tensor([-1.5325e-06, 1.9156e-06, -2.3945e-06, 2.9932e-06, -3.7414e-06,\n",
|
|
||||||
" 4.6768e-06, -5.8460e-06, 7.3075e-06])"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"execution_count": 139,
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "execute_result"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"score[:8, 0]"
|
"score[:8, 0]"
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in new issue
Block a user