kaggle-ConnectX/Research/MuZero_ The Walkthrough (Pa.../83100f618299e154eaa27d3b5cf...

84 lines
7.6 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- saved from url=(0057)https://medium.com/media/83100f618299e154eaa27d3b5cfef9e4 -->
<html><link type="text/css" id="dark-mode" rel="stylesheet" href="https://medium.com/media/83100f618299e154eaa27d3b5cfef9e4"><style type="text/css" id="dark-mode-custom-style"></style><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ReplayBuffer (https://arxiv.org/src/1911.08265v1/anc/pseudocode.py) Medium</title><meta name="description" content="You can&#39;t perform that action at this time. You signed in with another tab or window. You signed out in another tab or window. Reload to refresh your session. Reload to refresh your session."><meta name="twitter:widgets:csp" content="on"><meta name="robots" content="noindex"><!--<base target="_blank">--><base href="." target="_blank"><style>body {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "ff-tisa-web-pro", Georgia, Cambria, "Times New Roman", Times, serif; font-weight: 400; color: #333332; font-size: 18px; line-height: 1.4; margin: 0; background-color: white; overflow: hidden;}iframe {max-width: 100%;}</style></head><body><style>.gist .gist-file { margin-bottom: 0 !important; }.gist { text-rendering: auto; }</style><script src="./2bb4814c4d4a2b3528fc466d974796d6.js" charset="utf-8"></script><link rel="stylesheet" href="./gist-embed-4e64bbf96c31ed6c9ee61f08cea01836.css"><div id="gist99758972" class="gist">
<div class="gist-file">
<div class="gist-data">
<div class="js-gist-file-update-container js-task-list-container file-box">
<div id="file-pseudocode-py" class="file my-2">
<div itemprop="text" class="Box-body p-0 blob-wrapper data type-python ">
<table class="highlight tab-size js-file-line-container" data-tab-size="8" data-paste-markdown-skip="">
<tbody><tr>
<td id="file-pseudocode-py-L1" class="blob-num js-line-number" data-line-number="1"></td>
<td id="file-pseudocode-py-LC1" class="blob-code blob-code-inner js-file-line"><span class="pl-k">class</span> <span class="pl-v">ReplayBuffer</span>(<span class="pl-s1">object</span>):</td>
</tr>
<tr>
<td id="file-pseudocode-py-L2" class="blob-num js-line-number" data-line-number="2"></td>
<td id="file-pseudocode-py-LC2" class="blob-code blob-code-inner js-file-line">
</td>
</tr>
<tr>
<td id="file-pseudocode-py-L3" class="blob-num js-line-number" data-line-number="3"></td>
<td id="file-pseudocode-py-LC3" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">def</span> <span class="pl-en">__init__</span>(<span class="pl-s1">self</span>, <span class="pl-s1">config</span>: <span class="pl-v">MuZeroConfig</span>):</td>
</tr>
<tr>
<td id="file-pseudocode-py-L4" class="blob-num js-line-number" data-line-number="4"></td>
<td id="file-pseudocode-py-LC4" class="blob-code blob-code-inner js-file-line"> <span class="pl-s1">self</span>.<span class="pl-s1">window_size</span> <span class="pl-c1">=</span> <span class="pl-s1">config</span>.<span class="pl-s1">window_size</span></td>
</tr>
<tr>
<td id="file-pseudocode-py-L5" class="blob-num js-line-number" data-line-number="5"></td>
<td id="file-pseudocode-py-LC5" class="blob-code blob-code-inner js-file-line"> <span class="pl-s1">self</span>.<span class="pl-s1">batch_size</span> <span class="pl-c1">=</span> <span class="pl-s1">config</span>.<span class="pl-s1">batch_size</span></td>
</tr>
<tr>
<td id="file-pseudocode-py-L6" class="blob-num js-line-number" data-line-number="6"></td>
<td id="file-pseudocode-py-LC6" class="blob-code blob-code-inner js-file-line"> <span class="pl-s1">self</span>.<span class="pl-s1">buffer</span> <span class="pl-c1">=</span> []</td>
</tr>
<tr>
<td id="file-pseudocode-py-L7" class="blob-num js-line-number" data-line-number="7"></td>
<td id="file-pseudocode-py-LC7" class="blob-code blob-code-inner js-file-line">
</td>
</tr>
<tr>
<td id="file-pseudocode-py-L8" class="blob-num js-line-number" data-line-number="8"></td>
<td id="file-pseudocode-py-LC8" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">def</span> <span class="pl-en">save_game</span>(<span class="pl-s1">self</span>, <span class="pl-s1">game</span>):</td>
</tr>
<tr>
<td id="file-pseudocode-py-L9" class="blob-num js-line-number" data-line-number="9"></td>
<td id="file-pseudocode-py-LC9" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> <span class="pl-en">len</span>(<span class="pl-s1">self</span>.<span class="pl-s1">buffer</span>) <span class="pl-c1">&gt;</span> <span class="pl-s1">self</span>.<span class="pl-s1">window_size</span>:</td>
</tr>
<tr>
<td id="file-pseudocode-py-L10" class="blob-num js-line-number" data-line-number="10"></td>
<td id="file-pseudocode-py-LC10" class="blob-code blob-code-inner js-file-line"> <span class="pl-s1">self</span>.<span class="pl-s1">buffer</span>.<span class="pl-en">pop</span>(<span class="pl-c1">0</span>)</td>
</tr>
<tr>
<td id="file-pseudocode-py-L11" class="blob-num js-line-number" data-line-number="11"></td>
<td id="file-pseudocode-py-LC11" class="blob-code blob-code-inner js-file-line"> <span class="pl-s1">self</span>.<span class="pl-s1">buffer</span>.<span class="pl-en">append</span>(<span class="pl-s1">game</span>)</td>
</tr>
<tr>
<td id="file-pseudocode-py-L12" class="blob-num js-line-number" data-line-number="12"></td>
<td id="file-pseudocode-py-LC12" class="blob-code blob-code-inner js-file-line">
</td>
</tr>
<tr>
<td id="file-pseudocode-py-L13" class="blob-num js-line-number" data-line-number="13"></td>
<td id="file-pseudocode-py-LC13" class="blob-code blob-code-inner js-file-line"> ...</td>
</tr>
</tbody></table>
</div>
</div>
</div>
</div>
<div class="gist-meta">
<a href="https://gist.github.com/davidADSP/2bb4814c4d4a2b3528fc466d974796d6/raw/00ad54507e4bc6322a6eafe6d66c69fd9002dc83/pseudocode.py" style="float:right">view raw</a>
<a href="https://gist.github.com/davidADSP/2bb4814c4d4a2b3528fc466d974796d6#file-pseudocode-py">pseudocode.py</a>
hosted with ❤ by <a href="https://github.com/">GitHub</a>
</div>
</div>
</div>
<script>var height = -1; var delayMs = 200; if (document) {document.domain = document.domain;}function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);var elements = document.getElementsByClassName("gist-data"); for (var i = 0; i < elements.length; i++) {elements[i].style.overflow = "visible"}resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}function maybeResize() {try {if (document.documentElement.offsetHeight != height && notifyResize()) {height = document.documentElement.offsetHeight;}delayMs = Math.min(delayMs * 2, 1000000); setTimeout(maybeResize, delayMs);} catch(error) {console.log('maybeResize error: ', error)}}maybeResize();</script></body></html>