</script><linkhref="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.min.css"rel="stylesheet"type="text/css"/><linkhref="https://fonts.googleapis.com/css?family=Lato|Roboto+Mono"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css"rel="stylesheet"type="text/css"/><linkhref="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"rel="stylesheet"type="text/css"/><script>documenterBaseURL="../.."</script><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.min.js"data-main="../../assets/documenter.js"></script><scriptsrc="../../siteinfo.js"></script><scriptsrc="../../../versions.js"></script><linkhref="../../assets/documenter.css"rel="stylesheet"type="text/css"/><linkhref="../../assets/flux.css"rel="stylesheet"type="text/css"/></head><body><navclass="toc"><h1>Flux</h1><selectid="version-selector"onChange="window.location.href=this.value"style="visibility: hidden"></select><formclass="search"id="search-form"action="../../search/"><inputid="search-query"name="q"type="text"placeholder="Search docs"/></form><ul><li><aclass="toctext"href="../../">Home</a></li><li><spanclass="toctext">Building Models</span><ul><li><aclass="toctext"href="../../models/basics/">Basics</a></li><li><aclass="toctext"href="../../models/recurrence/">Recurrence</a></li><li><aclass="toctext"href="../../models/regularisation/">Regularisation</a></li><li><aclass="toctext"href="../../models/layers/">Model Reference</a></li><li><aclass="toctext"href="../../models/nnlib/">NNlib</a></li></ul></li><li><spanclass="toctext">Handling Data</span><ul><li><aclass="toctext"href="../onehot/">One-Hot Encoding</a></li><liclass="current"><aclass="toctext"href>DataLoader</a><ulclass="internal"></ul></li></ul></li><li><spanclass="toctext">Training Models</span><ul><li><aclass="toctext"href="../../training/optimisers/">Optimisers</a></li><li><aclass="toctext"href="../../training/training/">Training</a></li></ul></li><li><aclass="toctext"href="../../gpu/">GPU Support</a></li><li><aclass="toctext"href="../../saving/">Saving & Loading</a></li><li><aclass="toctext"href="../../ecosystem/">The Julia Ecosystem</a></li><li><aclass="toctext"href="../../performance/">Performance Tips</a></li><li><aclass="toctext"href="../../community/">Community</a></li></ul></nav><articleid="docs"><header><nav><ul><li>Handling Data</li><li><ahref>DataLoader</a></li></ul><aclass="edit-page"href="https://github.com/FluxML/Flux.jl/blob/master/docs/src/data/dataloader.md"><spanclass="fa"></span> Edit on GitHub</a></nav><hr/><divid="topbar"><span>DataLoader</span><aclass="fa fa-bars"href="#"></a></div></header><h1><aclass="nav-anchor"id="DataLoader-1"href="#DataLoader-1">DataLoader</a></h1><p>Flux provides the <code>DataLoader</code> type in the <code>Flux.Data</code> module to handle iteration over mini-batches of data. </p><sectionclass="docstring"><divclass="docstring-header"><aclass="docstring-binding"id="Flux.Data.DataLoader"href="#Flux.Data.DataLoader"><code>Flux.Data.DataLoader</code></a> — <spanclass="docstring-category">Type</span>.</div><div><div><pre><codeclass="language-julia">DataLoader(data...; batchsize=1, shuffle=false, partial=true)</code></pre><p>An object that iterates over mini-batches of <code>data</code>, each mini-batch containing <code>batchsize</code> observations (except possibly the last one). </p><p>Takes as input one or more data tensors, e.g. X in unsupervised learning, X and Y in supervised learning. The last dimension in each tensor is considered to be the observation dimension. </p><p>If <code>shuffle=true</code>, shuffles the observations each time iterations are re-started. If <code>partial=false</code>, drops the last mini-batch if it is smaller than the batchsize.</p><p>Example usage:</p><pre><codeclass="language-none">Xtrain = rand(10, 100)