Skip to content

Instantly share code, notes, and snippets.

@izmailovpavel
Created December 24, 2018 15:39
Show Gist options
  • Save izmailovpavel/bb65d15a85b9fdb6f11e55e7a9fc2c68 to your computer and use it in GitHub Desktop.
Save izmailovpavel/bb65d15a85b9fdb6f11e55e7a9fc2c68 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [],
"source": [
"import torch\n",
"from torch.optim import SGD\n",
"from torch.autograd import Variable\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [],
"source": [
"def loss(x):\n",
" return x[0]**2 + 5 * x[1]**2 + x @ torch.randn_like(x)"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [],
"source": [
"x = Variable(torch.ones([2]), requires_grad=True)\n",
"opt = SGD([x], lr=0.1)"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [],
"source": [
"xs = []\n",
"for i in range(100):\n",
" opt.zero_grad()\n",
" l = loss(x)\n",
" l.backward()\n",
" opt.step()\n",
" xs.append(x.data.numpy().copy())"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [],
"source": [
"xs = np.array(xs)"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fd4abaa35c0>]"
]
},
"execution_count": 87,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAD8CAYAAAB+UHOxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAHLVJREFUeJzt3W+QXWV9B/DvN5sE2QIKSQoI5C7Y4Iha0eygtLVixRryArRqi11tmNFmIjq+6PgCJjNOh06maqeOtdpqikDsrooyRdMSi0BlsJYoywgYoEBIIQRR8qdiM9iC5NcX51xz9+65955zz7/nz/czc2bvvXv2nt895+7ze87zPOc5NDOIiEh8lrQdgIiItEMJQEQkUkoAIiKRUgIQEYmUEoCISKSUAEREIqUEICISKSUAEZFIKQGIiERqadsBDLNy5UqbmppqOwwREW/cfffdB8xsVZ51nU4AU1NTmJ+fbzsMERFvkHw877pqAhIRiZQSgIhIpJQAREQipQQgIhIpJQARkUgpAYhIaXNzwNQUsGRJ8nNuru2IJA+nh4GKiPvm5oCNG4Fnn02eP/548hwAZmbai0tG0xmAiJSyefPRwr/r2WeT18VtSgAiUsrevcVeF3coAYhIKatXF3td3KEEICKlbNkCTE4ufG1yMnld3KYEICKlzMwAW7cCnQ5AJj+3blUHsA80CkhESpuZUYHvI50BiIhESglARCRSSgASDV2tKrKQEoBEoXu16uOPA2ZHr1YNKQkowUlRSgAShdCvVo0hwUn1KkkAJK8h+TTJXQN+fwHJZ0jeky4fq2K7InmFfrVq6AlO6lHVGcB1ANaNWOe7ZnZuulxV0XZFcgn9atXQE5zUo5IEYGZ3ADhUxXuJ1CH0q1VDT3AhcLGPpsk+gPNJ3kvyWyRf2eB2RYK/WtW3BOdiYVgnZ/tozKySBcAUgF0DfncCgOPSx+sBPDLkfTYCmAcwv3r1apM4zc6adTpmZPJzdrbtiNznyz6bnTWbnDRLisJkmZw8Gq8vn6OITmfh5+0unU712wIwb3nL7bwrjnyjIQkgY93HAKwctd7atWur3zvivFEFhI9CLNTGNawwDPHYmyXHPeszk9Vvq0gCaKQJiOQpJJk+Pg9J09PBJrYt/gltREtTp/++NKsM67AO7dh3udpHU9Uw0K8AuBPAy0nuI/l+kptIbkpXeReAXSTvBfAZAJemmUpkkdBGtDRRqDnbxpxhWGEY2rHvcraPJu+pQhuLmoDi1GR7aROaOP33aZ8Na+bx6XMU1VQzIFxrAhIpwtna0piaOP33qeY8bERWaMe+18wM8NhjwJEjyU8XRqApAYhzQhuy2USh5mob8yCDCsPQjr3raA43xU9PT9v8/HzbYYiUNjeXtPnv3ZsUylu2VFuodfsAevsaJidVeMaI5N1mNp1nXd0RTKQBdd8xq/vedSYZCY8SgEggdFtGKUp9ACLwZwx9VWL7vJJNCUCi01/4XX65P2Poq+DTNQNSL3UCS1SyOkvJpCDs1+kkI1RCMzWVFPr9Qv28sSnSCawzAIlK1lW5g+pALo6hr4JP1wxIvZQAJCpFCjlXx9CX5ds1A1IfJQCJyqBCLpmq8KhQrj7NEvLVtlKMEoBEZVDht2lTPFef6mpb6VICkKgMKvz+7u/cm6elTi7OS+OC2IbH6kIwiY4umJIs/SPEusNjgXC/LzoDEJHcQq4hh3ozmmGUAEQiUqYAD/0CshiHxyoBiESibAEeeg05xuGxSgAikShbgIdeQ45xeKwSgEgkyhbgodeQYxweqwQgEomyBXgMNeTYhsdWkgBIXkPyaZK7BvyeJD9DcjfJ+0i+rortikh+ZQvwGGvIoavqDOA6AOuG/P4iAGvSZSOAv69ouyKSUxUFeGw15NBVkgDM7A4Ah4ascgmAL1liJ4CXkDy1im1LmEIeb94mFeDSq6k+gNMAPNHzfF/62iIkN5KcJzm/f//+RoKTehUtzEMfby7iCuc6gc1sq5lNm9n0qlWr2g5HShqnMA99vLmIK5pKAE8COKPn+enpaxK4cQrz0MebixvUzNhcAtgO4E/S0UBvAPCMmT3V0LalReMU5qGPN5f2qZkxUdUw0K8AuBPAy0nuI/l+kptIbkpX2QFgD4DdAP4BwOVVbFfcN05hHsN4c2mXmhkTlUwHbWbvGfF7A/ChKrYlftmyZfFN2EcV5t2RKZs3J2cKq1cn62vEilRFzYwJ5zqBJSzjjj3XcEWpk5oZE8ElAHXsuEeFubhGzYyJoBKAOnbapeQrvtC0FomgEoA6dtqj5Bu2EJO7zkwBJv2zbpqenrb5+fnc6y9ZkhQ+/cjkIEt9pqaSQr9fp5P8c4m/+u+VCyTNJTHWmH1A8m4zm86zblBnAOrYaY9GVYRLZ9bhCioBqGOnPUq+4VJyD1dQCUAdO+1R8g2Xknu4gkoAgDp22qLkG67165Nj2kvJPQyVXAksAiSFvQr8sMzNAdu2LRxcQQIbNuhYhyC4MwCJR4hDE12T1QFsBuzY0U48Ui0lAHHaoELehesOYkhA6gAOmxKAOGtYId/20EQXElATBnX0moWb9GKiBCDOGlbI11EzLVKjbzsBNSVrdFdXqEkvJkoA0qgiheywQr7qoYlFa/SxNI30ju7KEmLSi4kSgDSmaCE7rJCv+rqDojX6mMbGd4dW9w8F7Qot6cVECUAaU7SQHVbIV33dQdEafYwXvg1KbkuWqBnIW2bm7LJ27VqTcJBmSd1/4UIO/pvZWbNOJ1mn00me16HTyY5tYmLwtpuKzRWzs2aTk9n7aXIy/M/vCwDzlrOMDWo2UHGbyzOGZs142U8zYCb7acMG4IUXFv/OheMoLcwGSnIdyYdI7iZ5RcbvLyO5n+Q96fKBKrYrfnG52aS/SWliYvE66vBM9tOgqdXVF+Cf0gmA5ASAzwG4CMA5AN5D8pyMVa83s3PT5eqy2xX/uD5fUO88UirkBoupAzx0VZwBnAdgt5ntMbPnAHwVwCUVvK8EyJfJ+lTIDebymZwUU0UCOA3AEz3P96Wv9XsnyftI3kDyjAq2K1KbrEKOTGbGjF3RM7kYpszwVVPDQP8ZwJSZ/SaAWwBsG7QiyY0k50nO79+/v6HwRBaamUk6O3vHvpslM2O6UIC1XajmPZOLZcoMX5UeBUTyfAB/bmZvS59fCQBm9pcD1p8AcMjMXjzqvTUKSNrk6qgln+7R6+o+DFnTo4DuArCG5JkklwO4FMD2voBO7Xl6MYAHK9hudNqu9cXG1ekefJqHyNV9KInSCcDMfgngwwBuRlKwf83M7id5FcmL09U+QvJ+kvcC+AiAy8puNzY6lW6eqx3BPhWqru5DSVTSB2BmO8zsbDN7mZltSV/7mJltTx9faWavNLPXmNmbzew/q9huTHyq9YWi7dEug874fCpU296HMpzmAvKET7W+ULR53cKwMz6fClXXr/2InaaC8IQ60+Iy6nh3b4rTnRq7O0GeSONTQUj9fKr1SXmjzvh8uaBO3KYE4AmdSsfFp3Z+8ZcSgEdU64uHzvikCUoA4rRYr33QGZ80YWnbAYgM0n/Fa3ckDBBHQTgzE8fnlPboDECcpWsfROqlBCDO0rUP44m12UyKUwIQZ2kkTHGaMkSKUAIImO81QY2EKU7NZlKEEkBBvhSqIdQENRKmODWbSRGaCqIAzcMurlu5Ejh4cPHrK1YABw40H480T1NB1MSn02vVBOPRe1Z66FDb0YhPlAAK8KlQVQeqP8o0K/Y39Q06oa86MfjSFCrDKQEU4FOhqg5UP5Ttq8k6K81S5Xc0hP4lSSgBFOBToaoOVD+UbVbMe/Z5+HB1BbRPTaEynDqBC9I87FKlJUuym23IZNK/UQZ19pOL37eqAQtlY5Z6qRO4RpqRU6pUtllx0FnpSSctXreqWrpPTaEynBKASIvKNisOauob1OlbxYAFn5pCZbhKEgDJdSQfIrmb5BUZvz+G5PXp779PcqqK7Urz2hj94fKIk7KxVdFXk3VWWkctvftZ3/c+4Nhjk2sLquhfavr4uvx9apyZlVoATAB4FMBZAJYDuBfAOX3rXA7g8+njSwFcn+e9165da+KO2VmzycnuYMNkmZxMXg9pm4qt/ver+31d2V4bAMxb3vI774oD3wA4H8DNPc+vBHBl3zo3Azg/fbwUwAGkHdDDFiUAt3Q6C/9xukunE9Y283I5NrOkUOt0zMjkZ5lCLu9nLbrNpveh68esCkUSQOlRQCTfBWCdmX0gff4+AK83sw/3rLMrXWdf+vzRdJ1FF6eT3AhgIwCsXr167eNZQxykFW2M/nB5xInLsVUtz2cdZ6qUpvdhDMfM61FAZrbVzKbNbHrVqlVthyM92hj94fKIE5djq1qezzrO9QFN78OYjlkeVSSAJwGc0fP89PS1zHVILgXwYgAZU1aJy9oY/eHyiJOs2MhkXL7vnYv9HaXr148+DuNMldL08XX5+9SKvG1FgxYkbfp7AJyJo53Ar+xb50NY2An8tTzvrT4A9xRp462qDbrKtuyqt9ldD0jWDaFzcVBH6Qc/OHyfjNu+3vTxbeP71CQ02QmcbA/rATyMZDTQ5vS1qwBcnD5+EYCvA9gN4AcAzsrzvkoA/vJ5tMU4sRcp/FwvgMoU5FUfc9f3lYsaTwB1LUoA/vJ5tMU4sffX/rsLuXA9HxJj3s+SpcoC24d95aIiCUBzAUktfB5tMU7seW/A48ONelyJ0ZU4fOP1KCAJg8+jLcaJPW/nog/3lHClo9SHfeU7JYCGxHb5uSuFyChZx2Wc2PNO6dBEYnRheooq+FyJ8EbetqI2llD6AGJty6yjA6+pNua6Oh/r/i6E9F0L6bM0CeoEdovPHaJt6y2IV6wwW768ugKhreNS58iW0L5rGgVUXJEEoE7gBvjcIdqmrKkFsozbKRjicRn1mXRDo/CpE9gxg9oslywJvy+gjLz3ux23UzDENuZhn0n38pV+SgANyOpUBIAXXtA/4DB5C/ZxC2xfOqqLGPaZdC9f6acE0IDuqIqJicW/0z/gYHkK9jIFtiujXao07DNpWKX0Ux9Ag0Jsc65TVh/AsmXACScktzxUG3YxurAqDuoDcNDcXJIAstTd5uzrNQhZtdlrrwUOHFh4+0PJJ8QmLykp73ChNpZQhoFmjWdualxz6GOpNUywmCb2l45Ju6BhoG4ZdOo9MQFs21ZvLTbk0/5x7kAl9dIxaZ+agBwzqJPtyJH6/ylC7vjTqJZ8mmwC1DHxixJAA9ocbx7iWPeukJNbVZoe+69j4hclgAa02fkWcsdfyMltkKK1+aZr5DEeE6/l7SxoYwmlE9is3Y6xUDvlQu/g7jfO5y1zc5emYpRqQZPBSSx8TG7jxjzORG9tTA7n4zEJSZEEoFFAIg0qM0pmnAsJNSonPo2NAiJ5EslbSD6S/jxxwHovkLwnXbaX2aaIz8q0yY/Tvh7idBdSnbKdwFcAuM3M1gC4LX2e5Rdmdm66XFxymyLeKjNKZtwO/ZmZ5JoPXT0t/comgEsAbEsfbwPw9pLvJxK0MqNkVJuXqpVNACeb2VPp458AOHnAei8iOU9yJ0klCRmbb/Ma9ce7fn25YbmqzUuVRiYAkreS3JWxXNK7Xtr7PKhHuZN2SvwxgE+TfNmQ7W1Mk8X8/v37i3wWCZxvNzTJinfbNmDDhuG1eN+SnPir1Cggkg8BuMDMniJ5KoDbzezlI/7mOgD/YmY3jHp/jQKSXr7NazROvBq1I2U1ORfQdgAb0scbAHwzI5gTSR6TPl4J4LcBPFByuxIh36YZGCfeOq7c1RmFDFI2AXwcwFtJPgLgwvQ5SE6TvDpd5xUA5kneC+A7AD5uZkoAUphv0wyME2/VSc63ZjNpVqkEYGYHzewtZrbGzC40s0Pp6/Nm9oH08X+Y2avN7DXpzy9WEbjEx7d5jcaJt+okp9k5ZRhNBife8G0Y5DjxVp3kfGs2k2ZpKggRx8zNJTX0vXvL3/d4UEf0ihXJrTUlPLohjIjHqhzrv2ULsHz54td//nP1A4gSgEjQZmaA449f/Przz6sfQJQARIJ36FD26+oHECUAT2gst4zLt+Gz0hwlAA9oLLeU4dvwWWmOEoAHNJZbyvBt+Kw0R8NAPTDOnaBEJE4aBhoYteGK69RH5SclAA8UbcPVP6M0SX1U/lIC8ECRNlz9M8o4ylQa1EflL/UBBMa3OfOlfWXvQaA+KreoDyBimvxLiipbg1cflb+UAAKjf0YpqmylQdcZ+CvqBBBiZ2kM/4whHrc2la006DoDj5mZs8vatWutLrOzZpOTZknrZbJMTiav+2521qzTMSOTny5+pnFjDPm4tUX7NCwA5i1nGRttJ7A6S9tTptNRx60eVd6DQNpVpBM42gSgkQvtKVOI67iJDKdRQDmos7Q9ZTodddxEqlMqAZB8N8n7SR4hOTDjkFxH8iGSu0leUWabVYmhs9RVZQpxHTeR6pQ9A9gF4A8A3DFoBZITAD4H4CIA5wB4D8lzSm63NI1caE+ZQlzHTaQ6S8v8sZk9CAAkh612HoDdZrYnXferAC4B8ECZbVdhZkYFRxu6+3zcTkcdN5FqlEoAOZ0G4Ime5/sAvL6B7YrDVIiLtG9kAiB5K4BTMn612cy+WXVAJDcC2AgAq9WzJyJSm5F9AGZ2oZm9KmPJW/g/CeCMnuenp68N2t5WM5s2s+lVq1bl3IQMoytnRSRLE8NA7wKwhuSZJJcDuBTA9ga2K9D00CIuyKqEuVAxK3UhGMl3APhbAKsA/AzAPWb2NpIvBXC1ma1P11sP4NMAJgBcY2a5Bu1pOujydOWsSLuyrnxftiwZxfbcc0dfm5wENmwAduwod0W2rgSWX9GVsyLtGlQJy0Iu/H8tcl+Go++hK4El5eKVsy6c+oo0pci9OPora3XfWU0JIHCuXTnrc5+EEpeMo2xlq86bOSkBBM61K2d9vX+sz4lL2pVVCVu2DFi+fOFrg66nrfNsXQkgAjMzSYfvkSPJzzYvwPL1lpW+Ji5p/8wtqxJ27bXANdcsfG3TphbO1vPeOKCNpc4bwkg7Op2FNx7pLp1O25ENR2bHTbYdmR/aukmRbze7qWI/ocANYXQGII1yrU8iLxc704tosxbcZvOZb2duTZ+tKwFIo1zrk8jL18QFtN9/UUchnDeh+drk2BQlAGmcS30SeXUT14oVR1879tj24imi7Vpw1YVwkYTm+5lb3ZQARAr4xS+OPj540I+RQG3XgqsuhIskNJ/P3JqgBCCSU9s16XG1XQseNAzy8OHx+iSKJDRfmxybogQgklPbNelxNV0L7m+fBxYWwitWJD8PHhyvT6JoQvOxybEpSgAiObVdkx5Xk7XgQe3zwNFC+LjjFk6CBhQ7k1KzTnU0GZxITlmzOo4zWVfI8sw+W8UEhXNz499SNHSaDE6kBmpPHi1PM1kVZ1Jq1qmGEoBIASEVPHVcHJancFcTjjuUAEQiVNfFYXkK96wzqQ0bkiYdzbTaLPUBiESozjvFFW2fV99KtXRHMBEZyqU7xem2pdVSJ7CIDOXSkFZfr68IgRJAZNqeG13c4FJHrEvJKDalEgDJd5O8n+QRkgNPOUg+RvJHJO8hqTadlrQ9K6S4w6UhrS4lo9iU6gMg+QoARwB8AcBHzSyzcCf5GIBpMztQ5P3VB1AttbWKq3RhV3WK9AEsLbMhM3sw3WCZt5GGqK1VXDUzowK/DU31ARiAb5O8m+TGYSuS3EhynuT8/v37GwovDmprFZFeIxMAyVtJ7spYLimwnd8xs9cBuAjAh0j+7qAVzWyrmU2b2fSqVasKbEJGUVuriPQa2QRkZheW3YiZPZn+fJrkjQDOA3BH2feVYrqn2GprFRGgZB9AHiR/DcASM/uf9PHvA7iq7u1KNrW1ikhX2WGg7yC5D8D5AG4ieXP6+ktJ7khXOxnAv5O8F8APANxkZv9aZrsiIlJe2VFANwK4MeP1HwNYnz7eA+A1ZbYjIiLV05XAIiKRUgIQEYmUEoCISKSUAEREIqUEICKN0Ey07qn9OgARkf67fnVnogV0XUqbdAYgIrXbvHnhLR+B5Pnmze3EIwklABGpnWaidZMSgIjUTjPRukkJQERqp5lo3aQEICK1c+kWlHKURgGJSCM0E617dAYgIhIpJQARkUgpAYiIREoJQEQkUkoAIiKRopm1HcNAJPcDeLzv5ZUADrQQThk+xgz4Gbdibo6PcfsYM1As7o6ZrcqzotMJIAvJeTObbjuOInyMGfAzbsXcHB/j9jFmoL641QQkIhIpJQARkUj5mAC2th3AGHyMGfAzbsXcHB/j9jFmoKa4vesDEBGRavh4BiAiIhVwPgGQPInkLSQfSX+eOGC9T5K8n+SDJD9Dkk3H2hNL3phXk/x2GvMDJKeajXRRPLniTtc9geQ+kp9tMsaMOEbGTPJcknem34/7SP5RS7GuI/kQyd0kr8j4/TEkr09///22vw9dOeL+s/T7ex/J20h22oizL6ahMfes906SRrL1kUF5Yib5h+m+vp/kl0tv1MycXgB8EsAV6eMrAHwiY53fAvA9ABPpcieAC1yOOf3d7QDemj4+DsCk6/u6Z92/AfBlAJ91PWYAZwNYkz5+KYCnALyk4TgnADwK4CwAywHcC+CcvnUuB/D59PGlAK5vc98WiPvN3e8ugA+2HXeemNP1jgdwB4CdAKZdjxnAGgA/BHBi+vzXy27X+TMAAJcA2JY+3gbg7RnrGIAXIdlxxwBYBuCnjUSXbWTMJM8BsNTMbgEAMztsZs/2r9ewPPsaJNcCOBnAtxuKa5iRMZvZw2b2SPr4xwCeBpDrQpkKnQdgt5ntMbPnAHwVSey9ej/LDQDe0uaZbGpk3Gb2nZ7v7k4ApzccY788+xoA/gLAJwD8b5PBDZAn5j8F8Dkz+28AMLOny27UhwRwspk9lT7+CZKCZwEzuxPAd5DU7J4CcLOZPdhciIuMjBlJrfRnJP+J5A9J/hXJieZCzDQybpJLAPw1gI82GdgQefb1r5A8D0lF4dG6A+tzGoAnep7vS1/LXMfMfgngGQArGolusDxx93o/gG/VGtFoI2Mm+ToAZ5jZTU0GNkSe/Xw2gLNJfo/kTpLrym7UiRvCkLwVwCkZv9rc+8TMjOSiYUskfwPAK3C05nELyTea2XcrD/boNkvFjGTfvxHAawHsBXA9gMsAfLHaSBeqIO7LAewws31NVU4riLn7PqcC+EcAG8zsSLVRCsn3ApgG8Ka2YxkmrcR8Csn/m0+WImkGugBJWXcHyVeb2c/KvGHrzOzCQb8j+VOSp5rZU+k/cNZpzzsA7DSzw+nffAvA+QBqSwAVxLwPwD1mtif9m28AeANqTgAVxH0+gDeSvBxJv8VykofNbGBHW1kVxAySJwC4CcBmM9tZU6jDPAngjJ7np6evZa2zj+RSAC8GcLCZ8AbKEzdIXogkIb/JzP6vodgGGRXz8QBeBeD2tBJzCoDtJC82s/nGolwoz37eB+D7ZvY8gP8i+TCShHDXuBv1oQloO4AN6eMNAL6Zsc5eAG8iuZTkMiQ1kDabgPLEfBeAl5DstkX/HoAHGohtmJFxm9mMma02sykkzUBfqrPwz2FkzCSXA7gRSaw3NBhbr7sArCF5ZhrPpUhi79X7Wd4F4N8s7e1r0ci4Sb4WwBcAXFxFu3QFhsZsZs+Y2Uozm0q/xzuRxN5W4Q/k+358A0ntHyRXImkS2lNqq232fOdZkLSB3gbgEQC3AjgpfX0awNV2tAf9C0gK/QcAfMr1mNPnbwVwH4AfAbgOwHIf4u5Z/zK0Pwooz/fjvQCeB3BPz3JuC7GuB/Awkv6HzelrVyEpfIBkIMPXAewG8AMAZ7W5bwvEfSuSQRfdfbvd9Zj71r0dLY8CyrmfiaTp6oG0zLi07DZ1JbCISKR8aAISEZEaKAGIiERKCUBEJFJKACIikVICEBGJlBKAiEiklABERCKlBCAiEqn/B9iEGMJK7hodAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd4abb31898>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(xs[:, 0], xs[:, 1], 'bo')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [],
"source": [
"delta = 0.025\n",
"x = np.arange(-3.0, 3.0, delta)\n",
"y = np.arange(-2.0, 2.0, delta)\n",
"X, Y = np.meshgrid(x, y)\n",
"# Z = "
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [],
"source": [
"loss_X = X**2\n",
"loss_Y = 5 * Y**2\n",
"Z = loss_X + loss_Y"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fd4abaaac88>]"
]
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd4abaaacc0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"CS = plt.contour(X, Y, Z)\n",
"plt.plot(xs[:, 0], xs[:, 1], 'bo')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment