diff --git a/mlp/data_providers.py b/mlp/data_providers.py index 91435e5..cd486a5 100644 --- a/mlp/data_providers.py +++ b/mlp/data_providers.py @@ -133,11 +133,11 @@ class MNISTDataProvider(DataProvider): super(MNISTDataProvider, self).__init__( inputs, targets, batch_size, max_num_batches, shuffle_order, rng) - def next(self): - """Returns next data batch or raises `StopIteration` if at end.""" - inputs_batch, targets_batch = super(MNISTDataProvider, self).next() - return inputs_batch, self.to_one_of_k(targets_batch) - + # def next(self): + # """Returns next data batch or raises `StopIteration` if at end.""" + # inputs_batch, targets_batch = super(MNISTDataProvider, self).next() + # return inputs_batch, self.to_one_of_k(targets_batch) + # def __next__(self): return self.next() @@ -202,3 +202,5 @@ class MetOfficeDataProvider(DataProvider): # initialise base class with inputs and targets arrays # super(MetOfficeDataProvider, self).__init__( # inputs, targets, batch_size, max_num_batches, shuffle_order, rng) + def __next__(self): + return self.next() \ No newline at end of file diff --git a/notebooks/01_Introduction.ipynb b/notebooks/01_Introduction.ipynb index d0a0b2d..b50e1b4 100644 --- a/notebooks/01_Introduction.ipynb +++ b/notebooks/01_Introduction.ipynb @@ -138,37 +138,12 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { + "collapsed": false, "scrolled": false }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Hello world!\n", - "Hello again!\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Alarming hello!\n" - ] - }, - { - "data": { - "text/plain": [ - "'And again!'" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from __future__ import print_function\n", "import sys\n", @@ -231,24 +206,14 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { + "collapsed": false, "nbpresent": { "id": "2bced39d-ae3a-4603-ac94-fbb6a6283a96" } }, - "outputs": [ - { - "data": { - "image/png": "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\nYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "# use the matplotlib magic to specify to display plots inline in the notebook\n", "%matplotlib inline\n", @@ -304,25 +269,14 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": { + "collapsed": false, "nbpresent": { "id": "978c1095-a9ce-4626-a113-e0be5fe51ecb" } }, - "outputs": [ - { - "ename": "TypeError", - "evalue": "iter() returned non-iterator of type 'MNISTDataProvider'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 16\u001b[0m which_set='valid', batch_size=1, max_num_batches=2, shuffle_order=True)\n\u001b[1;32m 17\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 18\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mmnist_dp\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 19\u001b[0m \u001b[0mshow_single_image\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m28\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m28\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Image target: {0}'\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtarget\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mTypeError\u001b[0m: iter() returned non-iterator of type 'MNISTDataProvider'" - ] - } - ], + "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", @@ -408,7 +362,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "collapsed": false + }, "outputs": [], "source": [ "mnist_dp = data_providers.MNISTDataProvider(\n", @@ -458,6 +414,7 @@ "cell_type": "code", "execution_count": null, "metadata": { + "collapsed": false, "nbpresent": { "id": "c8553a56-9f25-4198-8a1a-d7e9572b4382" } @@ -486,23 +443,23 @@ "metadata": { "anaconda-cloud": {}, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python [default]", "language": "python", - "name": "python3" + "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 3 + "version": 2.0 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.2" + "pygments_lexer": "ipython2", + "version": "2.7.12" } }, "nbformat": 4, - "nbformat_minor": 1 -} + "nbformat_minor": 0 +} \ No newline at end of file