{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 使用mxnet 和gluon 实现" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from mxnet import ndarray as nd\n", "from mxnet import autograd\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "% matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "num_inputs = 2\n", "num = 1000\n", "\n", "true_w = [2, -3.4]\n", "true_b = 4.2\n", "\n", "X = nd.random_normal(shape=(num, num_inputs))\n", "y = true_w[0] * X[:, 0] + true_w[1] * X[:, 1] + true_b\n", "y += .01 * nd.random_normal(shape=y.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 读取数据\n", "生成第一个特征值 (X[:, 0]) 和目标值 Y 的散点图,更直观地观察两者间的关系。" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nQmCC\n", "text/plain": [ "<matplotlib.figure.Figure at 0x2fc5f898>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(X[:, 0].asnumpy(),y.asnumpy())\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "训练神经网络的时候,我们需要不断读取数据块。这里我们定义一个函数它每次返回batch_size个随机的样本和对应的目标。这里可以通过python的yield来构造一个迭代器" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import random\n", "batch_size = 10\n", "def data_iter():\n", " # 产生一个随机索引\n", " idx = list(range(num))\n", " random.shuffle(idx)\n", " for i in range(0, num, batch_size):\n", " j = nd.array(idx[i:min(i+batch_size,num)])\n", " yield nd.take(X, j), nd.take(y, j)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "代码读取第一个随机数据块" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(\n", "[[ 0.80086499 0.64161378]\n", " [-1.80192304 -0.10250449]\n", " [-1.38438416 0.18498537]\n", " [-1.10425019 -1.43397725]\n", " [ 0.54155749 -0.20159695]\n", " [ 1.61745751 -0.42109194]\n", " [ 0.12135358 0.01578125]\n", " [ 0.87809837 -1.07333779]\n", " [ 1.09420443 -1.16012454]\n", " [-0.47545174 1.92679763]]\n", "<NDArray 10x2 @cpu(0)>, \n", "[ 3.60913038 0.93919462 0.81189185 6.85887575 5.97680855\n", " 8.87133217 4.38811398 9.61106586 10.32493496 -3.30009222]\n", "<NDArray 10 @cpu(0)>)\n" ] } ], "source": [ "for data, label in data_iter():\n", " print(data, label)\n", " break" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 初始化模型参数" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# 初始化参数\n", "w = nd.random_normal(shape=(num_inputs, 1))\n", "b = nd.zeros((1,))\n", "params = [w, b]\n", "\n", "\n", "for param in params:\n", " param.attach_grad()\n", " \n", "# 定义线性模型\n", "def net(X):\n", " return nd.dot(X, w) + b\n", "\n", "# 定义损失函数\n", "def square_loss(yhat, y):\n", " # 注意这里我们把y变形成yhat的形状来避免矩阵形状的自动转换\n", " return (yhat - y.reshape(yhat.shape)) ** 2\n", "\n", "# 优化参数\n", "def SGD(params, lr):\n", " for param in params:\n", " param[:] = param - lr * param.grad" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# 模型函数\n", "def real_fn(X):\n", " return 2 * X[:, 0] - 3.4 * X[:, 1] + 4.2\n", "# 绘制损失随训练次数降低的折线图,以及预测值和真实值的散点图\n", "def plot(losses, X, sample_size=100):\n", " xs = list(range(len(losses)))\n", " f, (fg1, fg2) = plt.subplots(1, 2)\n", " fg1.set_title('Loss during training')\n", " fg1.plot(xs, losses, '-r')\n", " fg2.set_title('Estimated vs real function')\n", " fg2.plot(X[:sample_size, 1].asnumpy(),\n", " net(X[:sample_size, :]).asnumpy(), 'or', label='Estimated')\n", " fg2.plot(X[:sample_size, 1].asnumpy(),\n", " real_fn(X[:sample_size, :]).asnumpy(), '*g', label='Real')\n", " fg2.legend()\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 0, batch 99. Moving avg of loss: 6.89381875509. Average loss: 9.126331\n" ] }, { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "<matplotlib.figure.Figure at 0x2fb85b38>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1, batch 199. Moving avg of loss: 1.91797735015. Average loss: 0.136632\n" ] }, { "data": { "image/png": "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\n1mnHjh1VVXXPnj26detWVVVdv369Hn744VpXV6fLly/XHj161J/3nXfe0euuu07r6uq0trZWzz77\nbP3Xv/6lM2fO1J49e+q3336rW7du1cMPP1zvu+++RvcU7LlG068TkmQqLMceC3/4A/zylzBxIlx7\nbdJFMIy40K2bG1UG25+LfPVVdPsjxGcq8Wfv3r0UFBTw4x//mLPPPptzzjknonOdd955ABx77LFs\n376dtm3b0rZtWwoKCtiyZQv77bcfv/71r5k2bRp5eXmsXr2atWsbO9JNnTqVqVOn0qdPH8CN1Jcs\nWcK2bdu48MILKSoqanC9eJOaJFO33AI/+pHzMlm6NCUiGEazGT0avC9oPUVFbn8uEuoHKwE/ZC1a\ntOCTTz7hoosu4pVXXmHAgAERva9169YA5OXl1a/7tvfu3UtlZSXr169n1qxZzJ49m06dOgX1uVZV\n7rzzznq7+5dffsm13iA0Ge6TqVHceXnw5JPQsiUMHgx7m1Wp3shRRGSiiKwTkXl++0aIyGq/pGgD\nQ7x3gIgsFpEvRST0bFc4KipgwgQoKQER9zphgtufiyTxh2z79u1s3bqVgQMH8uCDD9aPyNu2bcu2\nbdtiPu/WrVs56KCDaNmyJe+//z4rvX9Ugec988wzmThxItu3bwdg9erVrFu3jpNOOomXX36ZnTt3\nsm3bNl5//fVm3GVokm8q8XHooTB2LFx+Odx7L/zmNykTxchYngQeASYF7H9AVUP6YHnJ0sbgXFyr\ngE9F5DVVXRDqPSGpqMhdRR2I7zkMH+7MI926OaXdzOezc+dOysrK6rcHDBjAzTffzPnnn09NTQ2q\nygMPPADAoEGDuO6663j44YfrJyWju4UKzj33XMrLyykrK+Poo48GoLi4mO9///v07NmTs846i/vu\nu4+FCxdy4oknAtCmTRsmT55M3759ufTSSykrK6OkpIQf/vCHzbr3UCSk5mR5eblGnHC+ogKefx4+\n+gjKy+Mui5F9iMgsVS331kuBN1S1p7c9AtjehOI+ERihqmd623cCqOofwl03qn6dJSxcuJBjjjkm\n1WJkHcGeq3+/borUF1IYMwa6dHEK3KIqjfjwUxH53DOltA9y/BBgld92lbevESIyVERmisjM9ebC\naqQJqVfcBxwATz0FS5ZYVKURD8YBh+NyyFcDfwrSJtjsUdC/nmrJ04w0JPWKG+CUUyyq0ogLqrpW\n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\nRK5CYII=\n", "text/plain": [ "<matplotlib.figure.Figure at 0x301f2b00>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 2, batch 299. Moving avg of loss: 0.639934797751. Average loss: 0.002395\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<matplotlib.figure.Figure at 0x3039f198>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 3, batch 399. Moving avg of loss: 0.226826680471. Average loss: 0.000134\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<matplotlib.figure.Figure at 0x36646208>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Epoch 4, batch 499. Moving avg of loss: 0.0821235587878. Average loss: 0.000091\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<matplotlib.figure.Figure at 0x369ae0b8>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "epochs = 5\n", "learning_rate = .001\n", "niter = 0\n", "losses = []\n", "moving_loss = 0\n", "smoothing_constant = .01\n", "\n", "# 训练\n", "for e in range(epochs):\n", " total_loss = 0\n", "\n", " for data, label in data_iter():\n", " with autograd.record():\n", " output = net(data)\n", " loss = square_loss(output, label)\n", " loss.backward()\n", " SGD(params, learning_rate)\n", " total_loss += nd.sum(loss).asscalar()\n", "\n", " # 记录每读取一个数据点后,损失的移动平均值的变化;\n", " niter +=1\n", " curr_loss = nd.mean(loss).asscalar()\n", " moving_loss = (1 - smoothing_constant) * moving_loss + (smoothing_constant) * curr_loss\n", "\n", " # correct the bias from the moving averages\n", " est_loss = moving_loss/(1-(1-smoothing_constant)**niter)\n", "\n", " if (niter + 1) % 100 == 0:\n", " losses.append(est_loss)\n", " print(\"Epoch %s, batch %s. Moving avg of loss: %s. Average loss: %f\" % (e, niter, est_loss, total_loss/num))\n", " plot(losses, X)\n", " " ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 2 }