From 2a7fa9abe35e139825ab80a3c42e19bbd3d2ebb2 Mon Sep 17 00:00:00 2001 From: bushuhui Date: Tue, 28 Sep 2021 17:48:42 +0800 Subject: [PATCH] Improve descriptions & index --- 6_pytorch/0_basic/1-Tensor-and-Variable.ipynb | 113 +++++----- 6_pytorch/0_basic/2-autograd.ipynb | 204 +++++------------- 6_pytorch/0_basic/3-dynamic-graph.ipynb | 220 -------------------- 6_pytorch/0_basic/ref_dynamic-graph.ipynb | 100 +++++++++ .../1-linear-regression-gradient-descend.ipynb | 227 +++++++++------------ 6_pytorch/1_NN/2-logistic-regression.ipynb | 2 +- 6_pytorch/README.md | 11 + 6_pytorch/imgs/PyTorch_demo.gif | Bin 0 -> 264025 bytes README.md | 47 ++--- 9 files changed, 349 insertions(+), 575 deletions(-) delete mode 100644 6_pytorch/0_basic/3-dynamic-graph.ipynb create mode 100644 6_pytorch/0_basic/ref_dynamic-graph.ipynb create mode 100644 6_pytorch/imgs/PyTorch_demo.gif diff --git a/6_pytorch/0_basic/1-Tensor-and-Variable.ipynb b/6_pytorch/0_basic/1-Tensor-and-Variable.ipynb index 3b7d7e7..fe0929a 100644 --- a/6_pytorch/0_basic/1-Tensor-and-Variable.ipynb +++ b/6_pytorch/0_basic/1-Tensor-and-Variable.ipynb @@ -6,22 +6,28 @@ "source": [ "# Tensor and Variable\n", "\n", - "PyTorch的简洁设计使得它入门很简单,在深入介绍PyTorch之前,本节将先介绍一些PyTorch的基础知识,使得读者能够对PyTorch有一个大致的了解,并能够用PyTorch搭建一个简单的神经网络。部分内容读者可能暂时不太理解,可先不予以深究,后续的课程将会对此进行深入讲解。\n", "\n", - "本节内容参考了PyTorch官方教程[^1]并做了相应的增删修改,使得内容更贴合新版本的PyTorch接口,同时也更适合新手快速入门。另外本书需要读者先掌握基础的Numpy使用,其他相关知识推荐读者参考CS231n的教程[^2]。\n", + "张量(Tensor)是一种专门的数据结构,非常类似于数组和矩阵。在PyTorch中,我们使用张量来编码模型的输入和输出,以及模型的参数。\n", "\n", - "[^1]: http://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html\n", - "[^2]: http://cs231n.github.io/python-numpy-tutorial/\n", - "\n" + "张量类似于`numpy`的`ndarray`,不同之处在于张量可以在GPU或其他硬件加速器上运行。事实上,张量和NumPy数组通常可以共享相同的底层内存,从而消除了复制数据的需要(请参阅使用NumPy的桥接)。张量还针对自动微分进行了优化,在Autograd部分中看到更多关于这一点的内介绍。\n", + "\n", + "`variable`是一种可以不断变化的变量,符合反向传播,参数更新的属性。PyTorch的`variable`是一个存放会变化值的内存位置,里面的值会不停变化,像装糖果(糖果就是数据,即tensor)的盒子,糖果的数量不断变化。pytorch都是由tensor计算的,而tensor里面的参数是variable形式。\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## 把 PyTorch 当做 NumPy 用\n", + "## 1. Tensor基本用法\n", "\n", - "PyTorch 的官方介绍是一个拥有强力GPU加速的张量和动态构建网络的库,其主要构件是张量,所以我们可以把 PyTorch 当做 NumPy 来用,PyTorch 的很多操作好 NumPy 都是类似的,但是因为其能够在 GPU 上运行,所以有着比 NumPy 快很多倍的速度。通过本次课程,你能够学会如何像使用 NumPy 一样使用 PyTorch,了解到 PyTorch 中的基本元素 Tensor 和 Variable 及其操作方式。" + "PyTorch基础的数据是张量,PyTorch 的很多操作好 NumPy 都是类似的,但是因为其能够在 GPU 上运行,所以有着比 NumPy 快很多倍的速度。通过本次课程,能够学会如何像使用 NumPy 一样使用 PyTorch,了解到 PyTorch 中的基本元素 Tensor 和 Variable 及其操作方式。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1.1 Tensor定义与生成" ] }, { @@ -113,7 +119,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "PyTorch Tensor 使用 GPU 加速\n", + "### 1.2 PyTorch Tensor 使用 GPU 加速\n", "\n", "我们可以使用以下两种方式将 Tensor 放到 GPU 上" ] @@ -245,7 +251,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**小练习**\n", + "### 1.3 小练习\n", "\n", "查阅以下[文档](http://pytorch.org/docs/0.3.0/tensors.html)了解 tensor 的数据类型,创建一个 float64、大小是 3 x 2、随机初始化的 tensor,将其转化为 numpy 的 ndarray,输出其数据类型\n", "\n", @@ -284,8 +290,15 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Tensor的操作\n", - "Tensor 操作中的 api 和 NumPy 非常相似,如果你熟悉 NumPy 中的操作,那么 tensor 基本是一致的,下面我们来列举其中的一些操作" + "## 2. Tensor的操作\n", + "Tensor 操作中的 API 和 NumPy 非常相似,如果你熟悉 NumPy 中的操作,那么 tensor 基本是一致的,下面我们来列举其中的一些操作" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1 基本操作" ] }, { @@ -629,7 +642,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "另外,pytorch中大多数的操作都支持 inplace 操作,也就是可以直接对 tensor 进行操作而不需要另外开辟内存空间,方式非常简单,一般都是在操作的符号后面加`_`,比如" + "### 2.2 `inplace`操作\n", + "另外,pytorch中大多数的操作都支持 `inplace` 操作,也就是可以直接对 tensor 进行操作而不需要另外开辟内存空间,方式非常简单,一般都是在操作的符号后面加`_`,比如" ] }, { @@ -692,9 +706,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**小练习**\n", + "### 2.3 **小练习**\n", "\n", - "访问[文档](http://pytorch.org/docs/0.3.0/tensors.html)了解 tensor 更多的 api,实现下面的要求\n", + "访问[文档](http://pytorch.org/docs/tensors.html)了解 tensor 更多的 api,实现下面的要求\n", "\n", "创建一个 float32、4 x 4 的全为1的矩阵,将矩阵正中间 2 x 2 的矩阵,全部修改成2\n", "\n", @@ -742,28 +756,38 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Variable\n", - "tensor 是 PyTorch 中的完美组件,但是构建神经网络还远远不够,我们需要能够构建计算图的 tensor,这就是 Variable。Variable 是对 tensor 的封装,操作和 tensor 是一样的,但是每个 Variabel都有三个属性,Variable 中的 tensor本身`.data`,对应 tensor 的梯度`.grad`以及这个 Variable 是通过什么方式得到的`.grad_fn`" + "## 3. Variable\n", + "tensor 是 PyTorch 中的基础数据类型,但是构建神经网络还远远不够,需要能够构建计算图的 tensor,这就是 Variable。Variable 是对 tensor 的封装,操作和 tensor 是一样的,但是每个 Variabel都有三个属性:\n", + "* Variable 中的 tensor本身`.data`,\n", + "* 对应 tensor 的梯度`.grad`\n", + "* Variable 是通过什么方式得到的`.grad_fn`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.1 Variable的基本操作" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ - "# 通过下面这种方式导入 Variable\n", + "import torch\n", "from torch.autograd import Variable" ] }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ - "x_tensor = torch.randn(10, 5)\n", - "y_tensor = torch.randn(10, 5)\n", + "x_tensor = torch.randn(3, 4)\n", + "y_tensor = torch.randn(3, 4)\n", "\n", "# 将 tensor 变成 Variable\n", "x = Variable(x_tensor, requires_grad=True) # 默认 Variable 是不需要求梯度的,所以我们用这个方式申明需要对其进行求梯度\n", @@ -772,7 +796,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -781,15 +805,15 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "tensor(-22.1040)\n", - "\n" + "tensor(-7.7018)\n", + "\n" ] } ], @@ -807,33 +831,19 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "tensor([[2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.]])\n", - "tensor([[2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.],\n", - " [2., 2., 2., 2., 2.]])\n" + "tensor([[1., 1., 1., 1.],\n", + " [1., 1., 1., 1.],\n", + " [1., 1., 1., 1.]])\n", + "tensor([[1., 1., 1., 1.],\n", + " [1., 1., 1., 1.],\n", + " [1., 1., 1., 1.]])\n" ] } ], @@ -856,7 +866,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**小练习**\n", + "### 3.2 **小练习**\n", "\n", "尝试构建一个函数 $y = x^2 $,然后求 x=2 的导数。\n", "\n", @@ -931,6 +941,15 @@ "source": [ "下一次课程我们将会从导数展开,了解 PyTorch 的自动求导机制" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References\n", + "* http://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html\n", + "* http://cs231n.github.io/python-numpy-tutorial/" + ] } ], "metadata": { diff --git a/6_pytorch/0_basic/2-autograd.ipynb b/6_pytorch/0_basic/2-autograd.ipynb index 164cb23..21f272f 100644 --- a/6_pytorch/0_basic/2-autograd.ipynb +++ b/6_pytorch/0_basic/2-autograd.ipynb @@ -10,7 +10,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -22,7 +22,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## 简单情况的自动求导\n", + "## 1. 简单情况的自动求导\n", "下面我们显示一些简单情况的自动求导,\"简单\"体现在计算的结果都是标量,也就是一个数,我们对这个标量进行自动求导。" ] }, @@ -61,7 +61,8 @@ "$$\n", "\\frac{\\partial z}{\\partial x} = 2 (x + 2) = 2 (2 + 2) = 8\n", "$$\n", - "如果你对求导不熟悉,可以查看以下[网址进行复习](https://baike.baidu.com/item/%E5%AF%BC%E6%95%B0#1)" + "\n", + "如果你对求导不熟悉,可以查看以下[《导数介绍资料》](https://baike.baidu.com/item/%E5%AF%BC%E6%95%B0#1)网址进行复习" ] }, { @@ -92,210 +93,106 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "tensor([[ 5.7436e-01, -8.5241e-01, 2.2845e+00, 3.6574e-01, 1.4336e+00,\n", - " 6.2769e-01, -2.4378e-01, 2.3407e+00, 3.8966e-01, 1.1835e+00,\n", - " -6.4391e-01, 9.1353e-01, -5.8734e-01, -1.9392e+00, 9.3507e-01,\n", - " 8.8518e-02, 7.2412e-01, -1.0687e+00, -6.7646e-01, 1.2672e+00],\n", - " [ 7.2998e-01, 2.0229e+00, -5.0831e-01, -6.3940e-01, -8.7033e-01,\n", - " 2.7687e-01, 6.3498e-01, -1.8736e-03, -8.4395e-01, 1.4696e+00,\n", - " -1.7850e+00, -4.5297e-01, 9.2144e-01, 8.5070e-02, -5.8926e-01,\n", - " 1.2085e+00, -9.7894e-01, -3.4309e-01, -2.4711e-02, -6.4475e-01],\n", - " [-2.8774e-01, 1.2039e+00, -5.2320e-01, 1.3787e-01, 3.9971e-02,\n", - " -5.6454e-01, -1.5835e+00, -2.0742e-01, -1.4274e+00, -3.7860e-01,\n", - " 6.2642e-01, 1.6408e+00, -1.1916e-01, 1.4388e-01, -9.5261e-01,\n", - " 4.0784e-01, 8.1715e-01, 3.9228e-01, 4.1611e-01, -3.3709e-01],\n", - " [ 3.3040e-01, 1.7915e-01, -5.7069e-02, 1.1144e+00, -1.0322e+00,\n", - " 9.9129e-01, 1.1692e+00, 7.9638e-01, -1.0943e-01, 8.2714e-01,\n", - " -1.5700e-01, -5.6686e-01, -1.9550e-01, -1.2263e+00, 1.7836e+00,\n", - " 9.1989e-01, -6.4577e-01, 9.5402e-01, -8.6525e-01, 3.9199e-01],\n", - " [-8.8085e-01, -6.3551e-03, 1.6959e+00, -7.5292e-02, -8.8929e-02,\n", - " 1.0209e+00, 8.9355e-01, -1.2029e+00, 1.9429e+00, -2.7024e-01,\n", - " -9.1289e-01, -1.3788e+00, -6.2695e-01, -6.5776e-01, 3.3640e-01,\n", - " -1.0473e-01, 9.9417e-01, 1.0128e+00, 2.4199e+00, 2.8859e-01],\n", - " [ 8.0469e-02, -1.6585e-01, -4.9862e-01, -5.5413e-01, -4.9307e-01,\n", - " -7.3808e-01, 1.3946e-02, 5.6282e-01, 9.1096e-01, -1.9281e-01,\n", - " -3.8546e-01, -1.4070e+00, 7.3520e-01, 1.7412e+00, 1.0770e+00,\n", - " 1.4837e+00, -7.4241e-01, -4.0977e-01, 1.1057e+00, -7.0222e-01],\n", - " [-2.3147e-01, -3.7781e-01, 1.0774e+00, -7.9918e-01, 1.8275e+00,\n", - " 7.6937e-01, -2.7600e-01, 1.0389e+00, 1.4457e+00, -1.2898e+00,\n", - " 1.2761e-03, 5.5406e-01, 1.8231e+00, -2.3874e-01, 1.2145e+00,\n", - " -2.1051e+00, -6.6464e-01, -8.5335e-01, -2.6258e-01, 8.0080e-01],\n", - " [ 4.2173e-01, 1.7040e-01, -3.0126e-01, -5.2095e-01, 5.5845e-01,\n", - " 5.9780e-01, -6.8320e-01, -5.2203e-01, 4.9485e-01, -8.2392e-01,\n", - " -1.7584e-01, -1.3862e+00, 1.3604e+00, -7.5567e-01, 3.1400e-01,\n", - " 1.8617e+00, -1.1887e+00, -3.1732e-01, -1.5062e-01, -1.7251e-01],\n", - " [ 1.0924e+00, 1.0899e+00, 5.7135e-01, -2.7047e-01, 1.1123e+00,\n", - " 9.3634e-01, -1.4739e+00, 5.3640e-01, -8.2090e-02, 3.3112e-02,\n", - " 6.6032e-01, 1.1448e+00, -4.2457e-01, 1.2898e+00, 3.9002e-01,\n", - " 2.7646e-01, 9.6717e-03, -1.7425e-01, -1.9732e-01, 9.7876e-01],\n", - " [ 4.4554e-01, 5.3807e-01, -2.2031e-02, 1.3198e+00, -1.1642e+00,\n", - " -6.6617e-01, -2.6982e-01, -1.0219e+00, 5.8154e-01, 1.7617e+00,\n", - " 3.3077e-01, 1.5238e+00, -5.8909e-01, 1.1373e+00, 1.0998e+00,\n", - " -1.8168e+00, -5.0699e-01, 4.0043e-01, -2.3226e+00, 7.2522e-02]],\n", - " requires_grad=True)\n" + "tensor([[1., 2.],\n", + " [3., 4.]], requires_grad=True)\n" ] } ], "source": [ - "# FIXME: the demo need improve\n", - "x = Variable(torch.randn(10, 20), requires_grad=True)\n", - "y = Variable(torch.randn(10, 5), requires_grad=True)\n", - "w = Variable(torch.randn(20, 5), requires_grad=True)\n", - "print(x)\n", - "out = torch.mean(y - torch.matmul(x, w)) # torch.matmul 是做矩阵乘法\n", - "out.backward()" + "# 定义Variable\n", + "x = Variable(torch.FloatTensor([1,2]), requires_grad=False)\n", + "b = Variable(torch.FloatTensor([5,6]), requires_grad=False)\n", + "w = Variable(torch.FloatTensor([[1,2],[3,4]]), requires_grad=True)\n", + "print(w)" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 26, "metadata": {}, + "outputs": [], "source": [ - "如果你对矩阵乘法不熟悉,可以查看下面的[网址进行复习](https://baike.baidu.com/item/%E7%9F%A9%E9%98%B5%E4%B9%98%E6%B3%95/5446029?fr=aladdin)" + "z = torch.mean(torch.matmul(w, x) + b) # torch.matmul 是做矩阵乘法\n", + "z.backward()" ] }, { - "cell_type": "code", - "execution_count": 6, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "tensor([[ 0.0034, -0.0301, -0.0040, -0.0488, 0.0187, -0.0139, -0.0374, 0.0102,\n", - " 0.0337, -0.0249, -0.0777, -0.0868, 0.0132, 0.0042, -0.0627, -0.0448,\n", - " 0.0221, -0.0324, -0.0601, 0.0048],\n", - " [ 0.0034, -0.0301, -0.0040, -0.0488, 0.0187, -0.0139, -0.0374, 0.0102,\n", - " 0.0337, -0.0249, -0.0777, -0.0868, 0.0132, 0.0042, -0.0627, -0.0448,\n", - " 0.0221, -0.0324, -0.0601, 0.0048],\n", - " [ 0.0034, -0.0301, -0.0040, -0.0488, 0.0187, -0.0139, -0.0374, 0.0102,\n", - " 0.0337, -0.0249, -0.0777, -0.0868, 0.0132, 0.0042, -0.0627, -0.0448,\n", - " 0.0221, -0.0324, -0.0601, 0.0048],\n", - " [ 0.0034, -0.0301, -0.0040, -0.0488, 0.0187, -0.0139, -0.0374, 0.0102,\n", - " 0.0337, -0.0249, -0.0777, -0.0868, 0.0132, 0.0042, -0.0627, -0.0448,\n", - " 0.0221, -0.0324, -0.0601, 0.0048],\n", - " [ 0.0034, -0.0301, -0.0040, -0.0488, 0.0187, -0.0139, -0.0374, 0.0102,\n", - " 0.0337, -0.0249, -0.0777, -0.0868, 0.0132, 0.0042, -0.0627, -0.0448,\n", - " 0.0221, -0.0324, -0.0601, 0.0048],\n", - " [ 0.0034, -0.0301, -0.0040, -0.0488, 0.0187, -0.0139, -0.0374, 0.0102,\n", - " 0.0337, -0.0249, -0.0777, -0.0868, 0.0132, 0.0042, -0.0627, -0.0448,\n", - " 0.0221, -0.0324, -0.0601, 0.0048],\n", - " [ 0.0034, -0.0301, -0.0040, -0.0488, 0.0187, -0.0139, -0.0374, 0.0102,\n", - " 0.0337, -0.0249, -0.0777, -0.0868, 0.0132, 0.0042, -0.0627, -0.0448,\n", - " 0.0221, -0.0324, -0.0601, 0.0048],\n", - " [ 0.0034, -0.0301, -0.0040, -0.0488, 0.0187, -0.0139, -0.0374, 0.0102,\n", - " 0.0337, -0.0249, -0.0777, -0.0868, 0.0132, 0.0042, -0.0627, -0.0448,\n", - " 0.0221, -0.0324, -0.0601, 0.0048],\n", - " [ 0.0034, -0.0301, -0.0040, -0.0488, 0.0187, -0.0139, -0.0374, 0.0102,\n", - " 0.0337, -0.0249, -0.0777, -0.0868, 0.0132, 0.0042, -0.0627, -0.0448,\n", - " 0.0221, -0.0324, -0.0601, 0.0048],\n", - " [ 0.0034, -0.0301, -0.0040, -0.0488, 0.0187, -0.0139, -0.0374, 0.0102,\n", - " 0.0337, -0.0249, -0.0777, -0.0868, 0.0132, 0.0042, -0.0627, -0.0448,\n", - " 0.0221, -0.0324, -0.0601, 0.0048]])\n" - ] - } - ], "source": [ - "# 得到 x 的梯度\n", - "print(x.grad)" + "如果你对矩阵乘法不熟悉,可以查看下面的[网址进行复习](https://baike.baidu.com/item/%E7%9F%A9%E9%98%B5%E4%B9%98%E6%B3%95/5446029?fr=aladdin)" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "tensor([[0.0200, 0.0200, 0.0200, 0.0200, 0.0200],\n", - " [0.0200, 0.0200, 0.0200, 0.0200, 0.0200],\n", - " [0.0200, 0.0200, 0.0200, 0.0200, 0.0200],\n", - " [0.0200, 0.0200, 0.0200, 0.0200, 0.0200],\n", - " [0.0200, 0.0200, 0.0200, 0.0200, 0.0200],\n", - " [0.0200, 0.0200, 0.0200, 0.0200, 0.0200],\n", - " [0.0200, 0.0200, 0.0200, 0.0200, 0.0200],\n", - " [0.0200, 0.0200, 0.0200, 0.0200, 0.0200],\n", - " [0.0200, 0.0200, 0.0200, 0.0200, 0.0200],\n", - " [0.0200, 0.0200, 0.0200, 0.0200, 0.0200]])\n" + "tensor([[0.5000, 1.0000],\n", + " [0.5000, 1.0000]])\n" ] } ], "source": [ - "# 得到 y 的的梯度\n", - "print(y.grad)" + "# 得到 w 的梯度\n", + "print(w.grad)" ] }, { - "cell_type": "code", - "execution_count": 8, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "tensor([[ 0.0172, 0.0172, 0.0172, 0.0172, 0.0172],\n", - " [ 0.0389, 0.0389, 0.0389, 0.0389, 0.0389],\n", - " [-0.0748, -0.0748, -0.0748, -0.0748, -0.0748],\n", - " [-0.0186, -0.0186, -0.0186, -0.0186, -0.0186],\n", - " [ 0.0278, 0.0278, 0.0278, 0.0278, 0.0278],\n", - " [-0.0228, -0.0228, -0.0228, -0.0228, -0.0228],\n", - " [-0.0496, -0.0496, -0.0496, -0.0496, -0.0496],\n", - " [-0.0084, -0.0084, -0.0084, -0.0084, -0.0084],\n", - " [ 0.0693, 0.0693, 0.0693, 0.0693, 0.0693],\n", - " [-0.0821, -0.0821, -0.0821, -0.0821, -0.0821],\n", - " [ 0.0419, 0.0419, 0.0419, 0.0419, 0.0419],\n", - " [-0.0126, -0.0126, -0.0126, -0.0126, -0.0126],\n", - " [ 0.0322, 0.0322, 0.0322, 0.0322, 0.0322],\n", - " [ 0.0863, 0.0863, 0.0863, 0.0863, 0.0863],\n", - " [-0.0791, -0.0791, -0.0791, -0.0791, -0.0791],\n", - " [ 0.0179, 0.0179, 0.0179, 0.0179, 0.0179],\n", - " [-0.1109, -0.1109, -0.1109, -0.1109, -0.1109],\n", - " [-0.0188, -0.0188, -0.0188, -0.0188, -0.0188],\n", - " [-0.0636, -0.0636, -0.0636, -0.0636, -0.0636],\n", - " [ 0.0223, 0.0223, 0.0223, 0.0223, 0.0223]])\n" - ] - } - ], "source": [ - "# 得到 w 的梯度\n", - "print(w.grad)" + "具体计算的公式为:\n", + "$$\n", + "z_1 = w_{11}*x_1 + w_{12}*x_2 + b_1 \\\\\n", + "z_2 = w_{21}*x_1 + w_{22}*x_2 + b_2 \\\\\n", + "z = \\frac{1}{2} (z_1 + z_2)\n", + "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "上面数学公式就更加复杂,矩阵乘法之后对两个矩阵对应元素相乘,然后所有元素求平均,有兴趣的同学可以手动去计算一下梯度,使用 PyTorch 的自动求导,我们能够非常容易得到 x, y 和 w 的导数,因为深度学习中充满大量的矩阵运算,所以我们没有办法手动去求这些导数,有了自动求导能够非常方便地解决网络更新的问题。" + "则微分计算结果是:\n", + "$$\n", + "\\frac{\\partial z}{w_{11}} = \\frac{1}{2} x_1 \\\\\n", + "\\frac{\\partial z}{w_{12}} = \\frac{1}{2} x_2 \\\\\n", + "\\frac{\\partial z}{w_{21}} = \\frac{1}{2} x_1 \\\\\n", + "\\frac{\\partial z}{w_{22}} = \\frac{1}{2} x_2\n", + "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "\n" + "上面数学公式就更加复杂,矩阵乘法之后对两个矩阵对应元素相乘,然后所有元素求平均,有兴趣的同学可以手动去计算一下梯度,使用 PyTorch 的自动求导,我们能够非常容易得到 x, y 和 w 的导数,因为深度学习中充满大量的矩阵运算,所以我们没有办法手动去求这些导数,有了自动求导能够非常方便地解决网络更新的问题。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## 复杂情况的自动求导\n", - "上面我们展示了简单情况下的自动求导,都是对标量进行自动求导,可能你会有一个疑问,如何对一个向量或者矩阵自动求导了呢?感兴趣的同学可以自己先去尝试一下,下面我们会介绍对多维数组的自动求导机制。" + "## 2. 复杂情况的自动求导\n", + "\n", + "上面我们展示了简单情况下的自动求导,都是对标量进行自动求导,那么如何对一个向量或者矩阵自动求导?" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -316,7 +213,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 29, "metadata": {}, "outputs": [ { @@ -423,7 +320,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## 多次自动求导\n", + "## 3. 多次自动求导\n", "通过调用 backward 我们可以进行一次自动求导,如果我们再调用一次 backward,会发现程序报错,没有办法再做一次。这是因为 PyTorch 默认做完一次自动求导之后,计算图就被丢弃了,所以两次自动求导需要手动设置一个东西,我们通过下面的小例子来说明。" ] }, @@ -516,7 +413,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**小练习**\n", + "## 4 练习题\n", "\n", "定义\n", "\n", @@ -650,13 +547,6 @@ "source": [ "print(j)" ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "下一次课我们会介绍两种神经网络的编程方式,动态图编程和静态图编程" - ] } ], "metadata": { @@ -675,7 +565,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.9" + "version": "3.7.9" } }, "nbformat": 4, diff --git a/6_pytorch/0_basic/3-dynamic-graph.ipynb b/6_pytorch/0_basic/3-dynamic-graph.ipynb deleted file mode 100644 index 6c2079d..0000000 --- a/6_pytorch/0_basic/3-dynamic-graph.ipynb +++ /dev/null @@ -1,220 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 动态图和静态图\n", - "目前神经网络框架分为[静态图框架和动态图框架](https://blog.csdn.net/qq_36653505/article/details/87875279),PyTorch 和 TensorFlow、Caffe 等框架最大的区别就是他们拥有不同的计算图表现形式。 TensorFlow 使用静态图,这意味着我们先定义计算图,然后不断使用它,而在 PyTorch 中,每次都会重新构建一个新的计算图。通过这次课程,我们会了解静态图和动态图之间的优缺点。\n", - "\n", - "对于使用者来说,两种形式的计算图有着非常大的区别,同时静态图和动态图都有他们各自的优点,比如动态图比较方便debug,使用者能够用任何他们喜欢的方式进行debug,同时非常直观,而静态图是通过先定义后运行的方式,之后再次运行的时候就不再需要重新构建计算图,所以速度会比动态图更快。" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "![](https://ws3.sinaimg.cn/large/006tNc79ly1fmai482qumg30rs0fmq6e.gif)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "下面我们比较 while 循环语句在 TensorFlow 和 PyTorch 中的定义" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## TensorFlow" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'tensorflow'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\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 1\u001b[0m \u001b[0;31m# tensorflow\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mtensorflow\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mtf\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mfirst_counter\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconstant\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0msecond_counter\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconstant\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'tensorflow'" - ] - } - ], - "source": [ - "# tensorflow\n", - "import tensorflow as tf\n", - "\n", - "first_counter = tf.constant(0)\n", - "second_counter = tf.constant(10)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "def cond(first_counter, second_counter, *args):\n", - " return first_counter < second_counter\n", - "\n", - "def body(first_counter, second_counter):\n", - " first_counter = tf.add(first_counter, 2)\n", - " second_counter = tf.add(second_counter, 1)\n", - " return first_counter, second_counter" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "c1, c2 = tf.while_loop(cond, body, [first_counter, second_counter])" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "ename": "RuntimeError", - "evalue": "The Session graph is empty. Add operations to the graph before calling run().", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mRuntimeError\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 1\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mtf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompat\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mv1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSession\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0msess\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mcounter_1_res\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcounter_2_res\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msess\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mc1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mc2\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[0m", - "\u001b[0;32m~/.local/lib/python3.6/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 956\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 957\u001b[0m result = self._run(None, fetches, feed_dict, options_ptr,\n\u001b[0;32m--> 958\u001b[0;31m run_metadata_ptr)\n\u001b[0m\u001b[1;32m 959\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mrun_metadata\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 960\u001b[0m \u001b[0mproto_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtf_session\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTF_GetBuffer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrun_metadata_ptr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/lib/python3.6/site-packages/tensorflow/python/client/session.py\u001b[0m in \u001b[0;36m_run\u001b[0;34m(self, handle, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 1104\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mRuntimeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Attempted to use a closed Session.'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1105\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgraph\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mversion\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1106\u001b[0;31m raise RuntimeError('The Session graph is empty. Add operations to the '\n\u001b[0m\u001b[1;32m 1107\u001b[0m 'graph before calling run().')\n\u001b[1;32m 1108\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mRuntimeError\u001b[0m: The Session graph is empty. Add operations to the graph before calling run()." - ] - } - ], - "source": [ - "with tf.compat.v1.Session() as sess:\n", - " counter_1_res, counter_2_res = sess.run([c1, c2])" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'counter_1_res' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcounter_1_res\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcounter_2_res\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: name 'counter_1_res' is not defined" - ] - } - ], - "source": [ - "print(counter_1_res)\n", - "print(counter_2_res)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "可以看到 TensorFlow 需要将整个图构建成静态的,换句话说,每次运行的时候图都是一样的,是不能够改变的,所以不能直接使用 Python 的 while 循环语句,需要使用辅助函数 `tf.while_loop` 写成 TensorFlow 内部的形式\n", - "\n", - "这是非常反直觉的,学习成本也是比较高的\n", - "\n", - "下面我们来看看 PyTorch 的动态图机制,这使得我们能够使用 Python 的 while 写循环,非常方便" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## PyTorch" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# pytorch\n", - "import torch\n", - "first_counter = torch.Tensor([0])\n", - "second_counter = torch.Tensor([10])" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "while (first_counter < second_counter)[0]:\n", - " first_counter += 2\n", - " second_counter += 1" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "tensor([20.])\n", - "tensor([20.])\n" - ] - } - ], - "source": [ - "print(first_counter)\n", - "print(second_counter)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "可以看到 PyTorch 的写法跟 Python 的写法是完全一致的,没有任何额外的学习成本\n", - "\n", - "上面的例子展示如何使用静态图和动态图构建 while 循环,看起来动态图的方式更加简单且直观,你觉得呢?" - ] - } - ], - "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.6.9" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/6_pytorch/0_basic/ref_dynamic-graph.ipynb b/6_pytorch/0_basic/ref_dynamic-graph.ipynb new file mode 100644 index 0000000..a1c35e0 --- /dev/null +++ b/6_pytorch/0_basic/ref_dynamic-graph.ipynb @@ -0,0 +1,100 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 动态图和静态图\n", + "目前神经网络框架分为[静态图框架和动态图框架](https://blog.csdn.net/qq_36653505/article/details/87875279),PyTorch 和 TensorFlow、Caffe 等框架最大的区别就是他们拥有不同的计算图表现形式。 TensorFlow 使用静态图,这意味着我们先定义计算图,然后不断使用它,而在 PyTorch 中,每次都会重新构建一个新的计算图。通过这次课程,我们会了解静态图和动态图之间的优缺点。\n", + "\n", + "对于使用者来说,两种形式的计算图有着非常大的区别,同时静态图和动态图都有他们各自的优点,比如动态图比较方便debug,使用者能够用任何他们喜欢的方式进行debug,同时非常直观,而静态图是通过先定义后运行的方式,之后再次运行的时候就不再需要重新构建计算图,所以速度会比动态图更快。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![](https://ws3.sinaimg.cn/large/006tNc79ly1fmai482qumg30rs0fmq6e.gif)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PyTorch" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# pytorch\n", + "import torch\n", + "first_counter = torch.Tensor([0])\n", + "second_counter = torch.Tensor([10])" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "while (first_counter < second_counter):\n", + " first_counter += 2\n", + " second_counter += 1" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tensor([20.])\n", + "tensor([20.])\n" + ] + } + ], + "source": [ + "print(first_counter)\n", + "print(second_counter)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到 PyTorch 的写法跟 Python 的写法是完全一致的,没有任何额外的学习成本\n", + "\n", + "上面的例子展示如何使用静态图和动态图构建 while 循环,看起来动态图的方式更加简单且直观,你觉得呢?" + ] + } + ], + "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.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/6_pytorch/1_NN/1-linear-regression-gradient-descend.ipynb b/6_pytorch/1_NN/1-linear-regression-gradient-descend.ipynb index 0529fae..ef09890 100644 --- a/6_pytorch/1_NN/1-linear-regression-gradient-descend.ipynb +++ b/6_pytorch/1_NN/1-linear-regression-gradient-descend.ipynb @@ -5,7 +5,8 @@ "metadata": {}, "source": [ "# 线性模型和梯度下降\n", - "这是神经网络的第一课,我们会学习一个非常简单的模型,线性回归,同时也会学习一个优化算法-梯度下降法,对这个模型进行优化。线性回归是监督学习里面一个非常简单的模型,同时梯度下降也是深度学习中应用最广的优化算法,我们将从这里开始我们的深度学习之旅" + "\n", + "本节我们简单回顾一下线性回归模型,并演示一下如何使用PyTorch来对线性回归模型进行建模和模型参数计算。" ] }, { @@ -19,7 +20,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## 一元线性回归\n", + "## 1. 一元线性回归\n", "一元线性模型非常简单,假设我们有变量 $x_i$ 和目标 $y_i$,每个 i 对应于一个数据点,希望建立一个模型\n", "\n", "$$\n", @@ -46,7 +47,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## 梯度下降法\n", + "## 2. 梯度下降法\n", "在梯度下降法中,我们首先要明确梯度的概念,随后我们再了解如何使用梯度进行下降。" ] }, @@ -54,7 +55,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### 梯度\n", + "### 2.1 梯度\n", "梯度在数学上就是导数,如果是一个多元函数,那么梯度就是偏导数。比如一个函数f(x, y),那么 f 的梯度就是 \n", "\n", "$$\n", @@ -79,7 +80,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### 梯度下降法\n", + "### 2.2 梯度下降法\n", "有了对梯度的理解,我们就能了解梯度下降发的原理了。上面我们需要最小化这个误差,也就是需要找到这个误差的最小值点,那么沿着梯度的反方向我们就能够找到这个最小值点。\n", "\n", "我们可以来看一个直观的解释。比如我们在一座大山上的某处位置,由于我们不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个局部的山峰低处。\n", @@ -117,6 +118,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "### 2.3 PyTorch实现\n", + "\n", "上面是原理部分,下面通过一个例子来进一步学习线性模型" ] }, @@ -128,7 +131,7 @@ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 1, @@ -141,43 +144,27 @@ "import numpy as np\n", "from torch.autograd import Variable\n", "\n", - "torch.manual_seed(2017)" + "torch.manual_seed(2021)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], - "source": [ - "# 读入数据 x 和 y\n", - "x_train = np.array([[3.3], [4.4], [5.5], [6.71], [6.93], [4.168],\n", - " [9.779], [6.182], [7.59], [2.167], [7.042],\n", - " [10.791], [5.313], [7.997], [3.1]], dtype=np.float32)\n", - "\n", - "y_train = np.array([[1.7], [2.76], [2.09], [3.19], [1.694], [1.573],\n", - " [3.366], [2.596], [2.53], [1.221], [2.827],\n", - " [3.465], [1.65], [2.904], [1.3]], dtype=np.float32)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -189,6 +176,10 @@ } ], "source": [ + "# 生层测试数据\n", + "x_train = np.random.rand(20, 1)\n", + "y_train = x_train * 3 + 4 + 3*np.random.rand(20,1)\n", + "\n", "# 画出图像\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", @@ -198,17 +189,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "tensor([2.2691], requires_grad=True)\n" - ] - } - ], + "outputs": [], "source": [ "# 转换成 Tensor\n", "x_train = torch.from_numpy(x_train)\n", @@ -216,13 +199,12 @@ "\n", "# 定义参数 w 和 b\n", "w = Variable(torch.randn(1), requires_grad=True) # 随机初始化\n", - "b = Variable(torch.zeros(1), requires_grad=True) # 使用 0 进行初始化\n", - "print(w)" + "b = Variable(torch.zeros(1), requires_grad=True) # 使用 0 进行初始化" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -239,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -255,22 +237,22 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -301,33 +283,33 @@ "这个时候需要计算我们的误差函数,也就是\n", "\n", "$$\n", - "\\frac{1}{n} \\sum_{i=1}^n(\\hat{y}_i - y_i)^2\n", + "E = \\sum_{i=1}^n(\\hat{y}_i - y_i)^2\n", "$$" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# 计算误差\n", "def get_loss(y_, y):\n", - " return torch.mean((y_ - y) ** 2)\n", + " return torch.sum((y_ - y) ** 2)\n", "\n", "loss = get_loss(y_, y_train)" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "tensor(153.3520, grad_fn=)\n" + "tensor(719.2896, dtype=torch.float64, grad_fn=)\n" ] } ], @@ -350,7 +332,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -360,15 +342,15 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "tensor([161.0043])\n", - "tensor([22.8730])\n" + "tensor([-153.8987])\n", + "tensor([-237.1102])\n" ] } ], @@ -380,7 +362,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -398,22 +380,22 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 13, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAD4CAYAAADFAawfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAV/klEQVR4nO3df3BV5Z3H8c83IYoB1lrMOFqaXDqzw8oP+RUdXLeURUQqTovj/lEmbaW7TmwtLt22dnT4w+6otX/sSLU7o2YptS2x7YradTpuh6q4tFOU3tBgW1CYxQSDtITYUvm1/Mh3/7g3AeK93Jvknnuee8/7NZPJvedezv3mZPLhOc95nueYuwsAEK6auAsAAJwfQQ0AgSOoASBwBDUABI6gBoDAjYlip5deeqmnUqkodg0AVamjo+Oguzfkei2SoE6lUkqn01HsGgCqkpl153uNrg8ACFzBoDazKWbWedbXX8zsS2WoDQCgIro+3P1NSbMkycxqJe2T9Fy0ZQEABgy3j/p6Sf/r7nn7UvI5efKkenp6dPz48eH+U+QxduxYTZo0SXV1dXGXAiBCww3qT0n6Ya4XzKxVUqskNTY2vu/1np4eTZgwQalUSmY23DoxhLurr69PPT09mjx5ctzlAIhQ0RcTzewCSZ+Q9HSu1929zd2b3b25oeH9I0yOHz+uiRMnEtIlYmaaOHEiZyhACNrbpVRKqqnJfG9vL+nuh9Oi/rikbe7+x5F+GCFdWhxPIADt7VJrq3T0aOZ5d3fmuSS1tJTkI4YzPG+58nR7AEBirV59JqQHHD2a2V4iRQW1mY2TdIOkZ0v2yRUmlUrp4MGDcZcBIDR79w5v+wgUFdTufsTdJ7r7oZJ9cgFRdvm4u/r7+0u3QwDJlWPwxHm3j0CQMxMHuny6uyX3M10+ownrrq4uTZkyRZ/97Gc1ffp03X///br66qt11VVX6b777ht837JlyzR37lxNmzZNbW1tJfhpAFS1Bx+U6uvP3VZfn9leIkEGdVRdPrt379add96pNWvWaN++fdq6das6OzvV0dGhzZs3S5LWrVunjo4OpdNpPfroo+rr6xvdhwKobi0tUlub1NQkmWW+t7WV7EKiFNGiTKMVVZdPU1OT5s2bp69+9avauHGjZs+eLUk6fPiwdu/erfnz5+vRRx/Vc89lJl6+/fbb2r17tyZOnDi6DwZQ3VpaShrMQwUZ1I2Nme6OXNtHY9y4cZIyfdT33nuv7rjjjnNef+WVV/Tiiy9qy5Ytqq+v14IFCxinDCB2QXZ9RN3lc+ONN2rdunU6fPiwJGnfvn06cOCADh06pEsuuUT19fV644039Oqrr5bmAwFgFIJsUQ+cQaxenenuaGzMhHSpziwWL16snTt36tprr5UkjR8/XuvXr9eSJUv0+OOP68orr9SUKVM0b9680nwgAIyCuXvJd9rc3OxDbxywc+dOXXnllSX/rKTjuALVwcw63L0512tBdn0AAM4gqAEgcAQ1AASOoAaAwBHUABA4ghoAAkdQ5/Dkk0/qnXfeGXx+++23a8eOHaPeb1dXl5566qlh/7sVK1Zow4YNo/58AJUp3KCO+NY25zM0qNeuXaupU6eOer8jDWoAyRZmUEexzqmk9evX65prrtGsWbN0xx136PTp01qxYoWmT5+uGTNmaM2aNdqwYYPS6bRaWlo0a9YsHTt2TAsWLNDABJ7x48fr7rvv1rRp07Ro0SJt3bpVCxYs0Ec+8hE9//zzkjKB/NGPflRz5szRnDlz9Ktf/UqSdM899+gXv/iFZs2apTVr1uj06dO6++67B5dbfeKJJyRl1iJZuXKlpkyZokWLFunAgQOj+rkBVDh3L/nX3LlzfagdO3a8b1teTU3umYg+96upqfh95Pj8m2++2U+cOOHu7l/4whf861//ui9atGjwPX/605/c3f1jH/uY//rXvx7cfvZzSf7CCy+4u/uyZcv8hhtu8BMnTnhnZ6fPnDnT3d2PHDnix44dc3f3Xbt2+cDx2LRpky9dunRwv0888YTff//97u5+/Phxnzt3ru/Zs8efeeYZX7RokZ86dcr37dvnF198sT/99NN5fy4AlU9S2vNkapBrfUSxzulLL72kjo4OXX311ZKkY8eOacmSJdqzZ4/uuusuLV26VIsXLy64nwsuuEBLliyRJM2YMUMXXnih6urqNGPGDHV1dUmSTp48qZUrV6qzs1O1tbXatWtXzn1t3LhRr7/++mD/86FDh7R7925t3rxZy5cvV21tra644gotXLhwxD83gMoXZtdHBLe2cXfddttt6uzsVGdnp95880098sgj2r59uxYsWKDHH39ct99+e8H91NXVDd79u6amRhdeeOHg41OnTkmS1qxZo8suu0zbt29XOp3WiRMn8tb0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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -440,68 +422,54 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "tensor(3.1358)\n", - "epoch: 0, loss: 3.135772228240967\n", - "tensor(0.3551)\n", - "epoch: 1, loss: 0.355089008808136\n", - "tensor(0.3030)\n", - "epoch: 2, loss: 0.30295446515083313\n", - "tensor(0.3013)\n", - "epoch: 3, loss: 0.30131959915161133\n", - "tensor(0.3006)\n", - "epoch: 4, loss: 0.3006228804588318\n", - "tensor(0.2999)\n", - "epoch: 5, loss: 0.2999469041824341\n", - "tensor(0.2993)\n", - "epoch: 6, loss: 0.299274742603302\n", - "tensor(0.2986)\n", - "epoch: 7, loss: 0.2986060082912445\n", - "tensor(0.2979)\n", - "epoch: 8, loss: 0.2979407012462616\n", - "tensor(0.2973)\n", - "epoch: 9, loss: 0.29727888107299805\n" + "epoch: 19, loss: 15.28364363077673\n", + "epoch: 39, loss: 14.795312869325372\n", + "epoch: 59, loss: 14.536351699107472\n", + "epoch: 79, loss: 14.39902521175574\n", + "epoch: 99, loss: 14.326200708394845\n" ] } ], "source": [ - "for e in range(10): # 进行 10 次更新\n", + "for e in range(100): # 进行 100 次更新\n", " y_ = linear_model(x_train)\n", " loss = get_loss(y_, y_train)\n", " \n", " w.grad.zero_() # 记得归零梯度\n", " b.grad.zero_() # 记得归零梯度\n", " loss.backward()\n", - " print(loss.data)\n", + " \n", " w.data = w.data - 1e-2 * w.grad.data # 更新 w\n", " b.data = b.data - 1e-2 * b.grad.data # 更新 b \n", - " print('epoch: {}, loss: {}'.format(e, loss.item()))" + " if (e + 1) % 20 == 0:\n", + " print('epoch: {}, loss: {}'.format(e, loss.item()))" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 15, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAZoElEQVR4nO3df2xc5Z3v8fcnwSUEuLQ3WCwlxKbaiiUkJCSGDbdqmwsBsoD4IbhaqFvIqmwov0p3K1awSMACud2VrsgWWAER5FLalIsautxclG7TQhCg8stmnRSSQCLqgNO0MYGm/EjID3/vHzMOxh17xvaZOWfOfF7SyDPnnJzz9ZH9zePnPM/3UURgZmb1b1zaAZiZWTKc0M3McsIJ3cwsJ5zQzcxywgndzCwnDkjrwocffni0tramdXkzs7rU2dn5TkQ0l9qXWkJvbW2lo6MjrcubmdUlSZuH2ucuFzOznHBCNzPLCSd0M7OcSK0PvZQ9e/bQ09PDrl270g4lNyZMmMDkyZNpampKOxQzq7JMJfSenh4OPfRQWltbkZR2OHUvIti+fTs9PT0cc8wxaYdjZlWWqS6XXbt2MWnSJCfzhEhi0qRJ/ovHLCuWLYPWVhg3rvB12bJET5+pFjrgZJ4w30+zjFi2DBYuhI8+KnzevLnwGaC9PZFLZKqFbmaWWzfd9Eky7/fRR4XtCXFCT1hrayvvvPNO2mGYWda89dbIto9CXSf0KndHERH09fUle1Iza0xTpoxs+yjUbULv747avBkiPumOGmtS7+7u5thjj+XSSy9l2rRp3H777Zx00kmccMIJ3HLLLfuPO//885k9ezbHH388S5YsGeN3Y2a5t2gRTJz46W0TJxa2J6TihC5pvKT/lPREiX0HSnpU0iZJL0pqTSzCIVSzO2rjxo1cddVVLF68mC1btvDSSy/R1dVFZ2cnzzzzDABLly6ls7OTjo4O7rrrLrZv3z72C5tZfrW3w5Il0NICUuHrkiWJPRCFkbXQrwPWD7Hvm8B7EfHnwGLgX8YaWDnV7I5qaWlhzpw5rFq1ilWrVnHiiScya9YsNmzYwMaNGwG46667mDFjBnPmzOHtt9/ev93MbEjt7dDdDX19ha8JJnOocNiipMnA2cAi4O9LHHIecGvx/XLgHkmKKq5APWVKoZul1PaxOvjgg4FCH/qNN97IFVdc8an9Tz/9NL/85S95/vnnmThxInPnzvVYbzNLXaUt9H8F/gEY6gnhUcDbABGxF9gBTBp8kKSFkjokdfT29o482gFq0B3FmWeeydKlS/nggw8A2LJlC9u2bWPHjh187nOfY+LEiWzYsIEXXnghuYuamY1S2YQu6RxgW0R0jvViEbEkItoioq25uWR99orVoDuKM844g6997WuccsopTJ8+nYsuuoj333+f+fPns3fvXo477jhuuOEG5syZk9xFzcxGSeV6RSR9D/gGsBeYAPwX4KcR8fUBx/wcuDUinpd0APA7oHm4Lpe2trYYvMDF+vXrOe6440b7vdgQfF/N8kNSZ0S0ldpXtoUeETdGxOSIaAUuBp4amMyLVgCXFd9fVDymav3nZmb2p0Zdy0XSbUBHRKwAHgR+KGkT8C6FxG9mZjU0ooQeEU8DTxff3zxg+y7gfyQZmJmZjUzdzhQ1M7NPc0I3M8sJJ3Qzs5xwQh+Dhx56iN/+9rf7P19++eWsW7duzOft7u7mxz/+8Yj/3YIFC1i+fPmYr29m9am+E3q16+eWMTihP/DAA0ydOnXM5x1tQjezxla/Cb1a9XOBH/3oR5x88snMnDmTK664gn379rFgwQKmTZvG9OnTWbx4McuXL6ejo4P29nZmzpzJzp07mTt3Lv2TpQ455BCuv/56jj/+eObNm8dLL73E3Llz+cIXvsCKFSuAQuL+8pe/zKxZs5g1axa/+tWvALjhhht49tlnmTlzJosXL2bfvn1cf/31+8v43n///UCh1sw111zDsccey7x589i2bduYv3czq2MRkcpr9uzZMdi6dev+ZNuQWloiCqn806+WlsrPUcK6devinHPOid27d0dExJVXXhm33nprzJs3b/8x7733XkREfPWrX42XX355//aBn4FYuXJlREScf/75cfrpp8fu3bujq6srZsyYERERH374YezcuTMiIt54443ovyerV6+Os88+e/9577///rj99tsjImLXrl0xe/bsePPNN+Oxxx6LefPmxd69e2PLli1x2GGHxU9+8pOS35OZ5QOF+T8l82rmFomuWJXq5z755JN0dnZy0kknAbBz507mz5/Pm2++ybXXXsvZZ5/NGWecUfY8n/nMZ5g/fz4A06dP58ADD6SpqYnp06fT3d0NwJ49e7jmmmvo6upi/PjxvPHGGyXPtWrVKtauXbu/f3zH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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -523,7 +491,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "经过 10 次更新,我们发现红色的预测结果已经比较好的拟合了蓝色的真实值。\n", + "经过 100 次更新,我们发现红色的预测结果已经比较好的拟合了蓝色的真实值。\n", "\n", "现在你已经学会了你的第一个机器学习模型了,再接再厉,完成下面的小练习。" ] @@ -532,7 +500,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**小练习:**\n", + "### 2.4 练习题\n", "\n", "重启 notebook 运行上面的线性回归模型,但是改变训练次数以及不同的学习率进行尝试得到不同的结果" ] @@ -541,7 +509,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## 多项式回归模型" + "## 3. 多项式回归模型" ] }, { @@ -579,7 +547,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -611,22 +579,22 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 17, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -655,7 +623,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -671,7 +639,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -695,7 +663,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -708,7 +676,10 @@ "y_train = Variable(y_train)\n", "\n", "def multi_linear(x):\n", - " return torch.mm(x, w) + b" + " return torch.mm(x, w) + b\n", + "\n", + "def get_loss(y_, y):\n", + " return torch.mean((y_ - y) ** 2)" ] }, { @@ -720,22 +691,22 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 22, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAD7CAYAAACPDORaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAArT0lEQVR4nO3de5yOdf7H8dfHGMapCEmRUSQUjYZGR4ukzZKibG3pqHZrt9N21K62w6+DSimxirBZcqjNtpROUokaOjmFDjKOQ0njMObw/f3xvTE0mJn7vue673vez8fjetzn6/rcoz7zne/1uT5fc84hIiKJqVLQAYiISPQoyYuIJDAleRGRBKYkLyKSwJTkRUQSmJK8iEgCK3GSN7PRZrbBzBYWee4wM3vLzJaHbuuEnjczG2pmK8zsSzNrF43gRUTkwEozkh8DdN/nubuAd5xzzYF3Qo8BzgWah7YBwPDwwhQRkbKw0lwMZWapwOvOuRNCj78GOjnn1ppZQ2CWc66Fmf0zdH/Cvu870P7r1avnUlNTy/ZNREQqqPnz5290ztUv7rXKYe67QZHEvQ5oELp/FLCqyPuyQs8dMMmnpqaSmZkZZkgiIhWLma3c32sRO/Hq/J8Epe6RYGYDzCzTzDKzs7MjFY6IiBB+kl8fmqYhdLsh9PxqoHGR9zUKPfcrzrmRzrl051x6/frF/rUhIiJlFG6Snwb0D93vD7xW5PnLQ1U2GcDPB5uPFxGRyCvxnLyZTQA6AfXMLAsYBDwCTDKzq4GVwEWht08HfgusALYBV5Y1wLy8PLKystixY0dZdyFhSElJoVGjRiQnJwcdioiUQYmTvHPu9/t5qUsx73XADWUNqqisrCxq1apFamoqZhaJXUoJOefYtGkTWVlZNG3aNOhwRKQMYv6K1x07dlC3bl0l+ACYGXXr1tVfUSJxLOaTPKAEHyD97EXiW1wkeRGRRHb//TB7dnT2rSRfAkOHDqVly5ZceumlTJs2jUceeQSA//znPyxevHj3+8aMGcOaNWt2P77mmmv2el1EZF/LlsGgQfD++9HZf7hXvFYIzz33HG+//TaNGjUCoGfPnoBP8j169KBVq1aAT/InnHACRx55JAAvvPBCMAEXkZ+fT+XK+mcWiVXPPQfJyXDttdHZv0byB3H99dfz7bffcu655zJkyBDGjBnDjTfeyJw5c5g2bRq33347J510Eo8++iiZmZlceumlnHTSSWzfvp1OnTrtbtNQs2ZNBg4cSNu2bcnIyGD9+vUAfPPNN2RkZHDiiSdy7733UrNmzWLjGDduHG3atKFt27ZcdtllAFxxxRVMmTJl93t2fXbWrFmcccYZ9OzZk1atWnHXXXcxbNiw3e+77777ePzxxwEYPHgw7du3p02bNgwaNCjyP0AR2a+cHHjxRejbF444IjrHiK8h3s03w+efR3afJ50ETz2135dHjBjBG2+8wXvvvUe9evUYM2YMAKeeeio9e/akR48e9OnTB4AZM2bw+OOPk56e/qv9bN26lYyMDB566CHuuOMOnn/+ee69915uuukmbrrpJn7/+98zYsSIYmNYtGgRDz74IHPmzKFevXr8+OOPB/1aCxYsYOHChTRt2pTPPvuMm2++mRtu8FWtkyZN4s0332TmzJksX76cTz75BOccPXv2ZPbs2Zx55pkH3b+IhG/8eNiyBW6ISMF58TSSLydVqlShR48eAJx88sl8//33AHz88cf07dsXgEsuuaTYz7777rv07duXevXqAXDYYYcd9HgdOnTYXduelpbGhg0bWLNmDV988QV16tShcePGzJw5k5kzZ5KWlka7du1YunQpy5cvD/erikgJOAfPPgtpadCxY/SOE18j+QOMuGNdcnLy7nLEpKQk8vPzw95n5cqVKSwsBKCwsJCdO3fufq1GjRp7vbdv375MmTKFdevWcfHFFwP+Yqe7776b6667LuxYRKR0Zs+GhQth1CiIZqWyRvJhqFWrFr/88st+H5dERkYGU6dOBWDixInFvqdz585MnjyZTZs2AeyerklNTWX+/PkATJs2jby8vP0e5+KLL2bixIlMmTJl918O55xzDqNHjyYnJweA1atXs2HDhv3uQ0Qi59lnoU4d6NcvusdRkg9Dv379GDx4MGlpaXzzzTdcccUVXH/99btPvJbEU089xZNPPkmbNm1YsWIFhx566K/e07p1awYOHMhZZ51F27ZtufXWWwG49tpref/992nbti0ff/zxr0bv++7jl19+4aijjqJhw4YAdOvWjUsuuYSOHTty4okn0qdPn1L/khKR0svKgldfhauvhurVo3usUq0MFW3p6elu30VDlixZQsuWLQOKKPq2bdtGtWrVMDMmTpzIhAkTeO211w7+wXKU6P8GIuXt73+HBx+E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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAD7CAYAAACPDORaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAprklEQVR4nO3deXhUVbb38e8iBMI8S6OgwRaRQREJGLQVGhRQEURFaW2cRbr1tlM74tt4Ha4DjiiKKIheuSCDA22LAiqiImrACQEBUSGIEEBBIECG/f6xq0jAAEmqKqeq8vs8z3lODafOWZVh1a599lnbnHOIiEhyqhJ0ACIiEjtK8iIiSUxJXkQkiSnJi4gkMSV5EZEkpiQvIpLESp3kzWycma03s0XFHmtoZrPMbHlo3SD0uJnZSDNbYWZfmdlxsQheRET2rywt+fFAn70euxV4xznXCngndB/gNKBVaBkCPB1ZmCIiUh5WlouhzCwdeMM51z50/1ugu3NurZk1A+Y451qb2TOh2xP33m5/+2/cuLFLT08v3zsREamkFixYsME516Sk56pGuO+mxRL3z0DT0O1DgNXFtssOPbbfJJ+enk5WVlaEIYmIVC5m9uO+novaiVfnvxKUuUaCmQ0xsywzy8rJyYlWOCIiQuRJfl2om4bQen3o8TVAi2LbNQ899jvOuTHOuQznXEaTJiV+2xARkXKKNMlPBy4O3b4YeL3Y4xeFRtlkApsP1B8vIiLRV+o+eTObCHQHGptZNjAcuB+YbGaXAz8C54U2fxM4HVgBbAcuLW+AeXl5ZGdns2PHjvLuQiKQlpZG8+bNSU1NDToUESmHUid559xf9vFUzxK2dcDV5Q2quOzsbOrUqUN6ejpmFo1dSik559i4cSPZ2dm0bNky6HBEpBzi/orXHTt20KhRIyX4AJgZjRo10rcokQQW90keUIIPkH72IoktIZK8iEgyu+sumDs3NvtWki+FkSNH0qZNGy688EKmT5/O/fffD8Brr73G4sWLd283fvx4fvrpp933r7jiij2eFxHZ27JlMHw4vP9+bPYf6RWvlcJTTz3F7Nmzad68OQD9+vUDfJLv27cvbdu2BXySb9++PQcffDAAzz33XDABF5Ofn0/Vqvo1i8Srp56C1FS48srY7F8t+QMYOnQoK1eu5LTTTuPRRx9l/PjxXHPNNcybN4/p06dz0003ceyxx/LAAw+QlZXFhRdeyLHHHktubi7du3ffXaahdu3aDBs2jA4dOpCZmcm6desA+O6778jMzOToo4/mjjvuoHbt2iXG8eKLL3LMMcfQoUMHBg8eDMAll1zC1KlTd28Tfu2cOXM46aST6NevH23btuXWW29l1KhRu7e78847eeihhwAYMWIEnTt35phjjmH48OHR/wGKyD5t3QrPPw8DB8If/hCbYyRWE++66+CLL6K7z2OPhcce2+fTo0eP5q233uK9996jcePGjB8/HoATTjiBfv360bdvX84991wAZsyYwUMPPURGRsbv9rNt2zYyMzO59957ufnmm3n22We54447uPbaa7n22mv5y1/+wujRo0uM4ZtvvuGee+5h3rx5NG7cmE2bNh3wbS1cuJBFixbRsmVLPv/8c6677jquvtqPap08eTJvv/02M2fOZPny5Xz66ac45+jXrx9z587l5JNPPuD+RSRyEybAli1wdVQGnJdMLfkKUq1aNfr27QtAp06d+OGHHwD4+OOPGThwIAAXXHBBia999913GThwII0bNwagYcOGBzxely5ddo9t79ixI+vXr+enn37iyy+/pEGDBrRo0YKZM2cyc+ZMOnbsyHHHHcfSpUtZvnx5pG9VRErBOXjySejYEbp2jd1xEqslv58Wd7xLTU3dPRwxJSWF/Pz8iPdZtWpVCgsLASgsLGTXrl27n6tVq9Ye2w4cOJCpU6fy888/c/755wP+YqfbbruNq666KuJYRKRs5s6FRYtg7FiI5UhlteQjUKdOHX777bd93i+NzMxMpk2bBsCkSZNK3KZHjx5MmTKFjRs3AuzurklPT2fBggUATJ8+nby8vH0e5/zzz2fSpElMnTp19zeH3r17M27cOLZu3QrAmjVrWL9+/T73ISLR8+ST0KABDBoU2+MoyUdg0KBBjBgxgo4dO/Ldd99xySWXMHTo0N0nXkvjscce45FHHuGYY45hxYoV1KtX73fbtGvXjmHDhtGtWzc6dOjADTfcAMCVV17J+++/T4cOHfj4449/13rfex+//fYbhxxyCM2aNQOgV69eXHDBBXTt2pWjjz6ac889t8wfUiJSdtnZ8OqrcPnlULNmbI9VppmhYi0jI8PtPWnIkiVLaNOmTUARxd727dupUaMGZsakSZOYOHEir7/++oFfWIGS/XcgUtH+9S+4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\n", "text/plain": [ "
" ] @@ -764,14 +735,14 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "tensor(447.3372, grad_fn=)\n" + "tensor(1144.2655, grad_fn=)\n" ] } ], @@ -783,7 +754,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -793,17 +764,17 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "tensor([[ -60.7756],\n", - " [ -81.7448],\n", - " [-401.0452]])\n", - "tensor([-15.4545])\n" + "tensor([[ -94.7455],\n", + " [-139.1247],\n", + " [-629.8584]])\n", + "tensor([-25.7413])\n" ] } ], @@ -815,7 +786,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -826,22 +797,22 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 27, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAD7CAYAAACPDORaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAsgUlEQVR4nO3deZzO5f7H8densS8hW4qMyilLREPUqZyUVA6plNNCqzpHv/ZdJ62nRUXWEsLJIWucjiSVtFAGLbYiKRMxyD6YMdfvj+sehmaYmfu+53vPPe/n4/F93Nv3/l6fe9Tnvu7re30/lznnEBGR+HRU0AGIiEj0KMmLiMQxJXkRkTimJC8iEseU5EVE4piSvIhIHMtzkjezEWa2wcwWZ3vuGDP7wMxWhG6rhJ43M+tvZivN7Fszax6N4EVE5PDy05MfCbQ/5LmHgQ+dc/WBD0OPAS4G6oe2HsCQ8MIUEZGCsPxcDGVmicC7zrnGocffA22cc+vMrBYw2zl3ipm9Hro/9tD9Dnf8atWqucTExIJ9EhGRYmrBggUbnXPVc3qtRJjHrpktcf8G1AzdPx5Yk22/lNBzh03yiYmJJCcnhxmSiEjxYmY/5/ZaxE68Ov+TIN81Esysh5klm1lyampqpMIRERHCT/LrQ8M0hG43hJ7/FaiTbb/aoef+wDk31DmX5JxLql49x18bIiJSQOEm+WlA99D97sDUbM93C82yaQVsPdJ4vIiIRF6ex+TNbCzQBqhmZilAb+B5YLyZ3Qz8DFwV2n06cAmwEtgF3FjQANPT00lJSWH37t0FPYSEoUyZMtSuXZuSJUsGHYqIFECek7xz7m+5vNQ2h30d0LOgQWWXkpJCxYoVSUxMxMwicUjJI+ccmzZtIiUlhXr16gUdjogUQMxf8bp7926qVq2qBB8AM6Nq1ar6FSVShMV8kgeU4AOkv71I0VYkkryISDx76imYMyc6x1aSz4P+/fvToEEDrr32WqZNm8bzzz8PwDvvvMPSpUv37zdy5EjWrl27//Ett9xy0OsiIof64Qfo3Rs++SQ6xw/3itdiYfDgwcyaNYvatWsD0LFjR8An+Q4dOtCwYUPAJ/nGjRtz3HHHATBs2LBgAs4mIyODEiX0zywSqwYPhpIl4dZbo3N89eSP4Pbbb2fVqlVcfPHF9O3bl5EjR3LHHXfwxRdfMG3aNB544AFOP/10XnjhBZKTk7n22ms5/fTTSUtLo02bNvvLNFSoUIFevXrRtGlTWrVqxfr16wH48ccfadWqFaeddhqPPfYYFSpUyDGO0aNH06RJE5o2bcr1118PwA033MDEiRP375P13tmzZ3POOefQsWNHGjZsyMMPP8ygQYP27/fEE0/w0ksvAdCnTx9atGhBkyZN6N27d+T/gCKSqx074M03oUsXOPbY6LRRtLp4d98NX38d2WOefjr065fry6+99hozZszg448/plq1aowcORKAs846i44dO9KhQweuvPJKAN577z1eeuklkpKS/nCcnTt30qpVK5599lkefPBB3njjDR577DHuuusu7rrrLv72t7/x2muv5RjDkiVLeOaZZ/jiiy+oVq0amzdvPuLHWrhwIYsXL6ZevXosWrSIu+++m549/azW8ePH8/777zNz5kxWrFjBV199hXOOjh07MmfOHM4999wjHl9EwjdmDGzbBj0jMuE8Z+rJF5JSpUrRoUMHAM444wxWr14NwNy5c+nSpQsA11xzTY7v/eijj+jSpQvVqlUD4Jhjjjliey1bttw/t71Zs2Zs2LCBtWvX8s0331ClShXq1KnDzJkzmTlzJs2aNaN58+YsX76cFStWhPtRRSQPnIOBA6FZM2jdOnrtFK2e/GF63LGuZMmS+6cjJiQkkJGREfYxS5QoQWZmJgCZmZns3bt3/2vly5c/aN8uXbowceJEfvvtN66++mrAX+z0yCOPcNttt4Udi4jkz5w5sHgxDB8O0ZyprJ58GCpWrMj27dtzfZwXrVq1YtKkSQCMGzcux33OP/98JkyYwKZNmwD2D9ckJiayYMECAKZNm0Z6enqu7Vx99dWMGzeOiRMn7v/lcNFFFzFixAh27NgBwK+//sqGDRtyPYaIRM7AgVClCnTtGt12lOTD0LVrV/r06UOzZs348ccfueGGG7j99tv3n3jNi379+vHKK6/QpEkTVq5cSaVKlf6wT6NGjejVqxfnnXceTZs25d577wXg1ltv5ZNPPqFp06bMnTv3D733Q4+xfft2jj/+eGrVqgVAu3btuOaaa2jdujWnnXYaV155Zb6/pEQk/1JSYMoUuPlmKFcuum3la2WoaEtKSnKHLhqybNkyGjRoEFBE0bdr1y7Kli2LmTFu3DjGjh3L1KlTj/zGQhTv/wYihe3xx+GZZ2DlSjjx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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -870,18 +841,18 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "epoch 20, Loss: 22.71861\n", - "epoch 40, Loss: 5.37627\n", - "epoch 60, Loss: 1.32816\n", - "epoch 80, Loss: 0.38091\n", - "epoch 100, Loss: 0.15742\n" + "epoch 20, Loss: 65.56586\n", + "epoch 40, Loss: 15.41177\n", + "epoch 60, Loss: 3.70702\n", + "epoch 80, Loss: 0.97122\n", + "epoch 100, Loss: 0.32874\n" ] } ], @@ -911,22 +882,22 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 29, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -959,7 +930,9 @@ "collapsed": true }, "source": [ - "**小练习:上面的例子是一个三次的多项式,尝试使用二次的多项式去拟合它,看看最后能做到多好**\n", + "## 4. 练习题\n", + "\n", + "上面的例子是一个三次的多项式,尝试使用二次的多项式去拟合它,看看最后能做到多好\n", "\n", "**提示:参数 `w = torch.randn(2, 1)`,同时重新构建 x 数据集**" ] @@ -981,7 +954,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.9" + "version": "3.7.9" } }, "nbformat": 4, diff --git a/6_pytorch/1_NN/2-logistic-regression.ipynb b/6_pytorch/1_NN/2-logistic-regression.ipynb index cef4c03..1ced160 100644 --- a/6_pytorch/1_NN/2-logistic-regression.ipynb +++ b/6_pytorch/1_NN/2-logistic-regression.ipynb @@ -782,7 +782,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.9" + "version": "3.7.9" } }, "nbformat": 4, diff --git a/6_pytorch/README.md b/6_pytorch/README.md index cbe9c54..3645aa6 100644 --- a/6_pytorch/README.md +++ b/6_pytorch/README.md @@ -1,4 +1,15 @@ +# PyTorch + +PyTorch是基于Python的科学计算包,其旨在服务两类场合: +* 替代numpy发挥GPU潜能 +* 提供了高度灵活性和效率的深度学习平台 + +PyTorch的简洁设计使得它入门很简单,本部分内容在深入介绍PyTorch之前,先介绍一些PyTorch的基础知识,让大家能够对PyTorch有一个大致的了解,并能够用PyTorch搭建一个简单的神经网络,然后在深入学习如何使用PyTorch实现各类网络结构。在学习过程,可能部分内容暂时不太理解,可先不予以深究,后续的课程将会对此进行深入讲解。 + + + +![PyTorch Demo](imgs/PyTorch_demo.gif) ## References diff --git a/6_pytorch/imgs/PyTorch_demo.gif b/6_pytorch/imgs/PyTorch_demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4f17374e034911dfaf7d639a695f036f9166244 GIT binary patch literal 264025 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ʲL`e; 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

2Q;COx)B81=f*1nXKF9*w!K$6e- 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%0A4RGTCS&R`>xLzyof3h)xKC=8%I_TZK(X1cWHJ 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%0ALRQlAaCiPBW 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

mdME6zESazu+QnYvTo+zO8G-EIGLX(d4k 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 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 z00000000000000000000000000000000000000000000000000000000000000000 O000000000000021L09|$ literal 0 KcmV+b0RR6000031 diff --git a/README.md b/README.md index 3b402f3..701243e 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ ## 1. 内容 1. [课程简介](CourseIntroduction.pdf) -2. [Python](0_python/) +2. [Python](0_python/README.md) - [Install Python](references_tips/InstallPython.md) - [ipython & notebook](0_python/0-ipython_notebook.ipynb) - [Python Basics](0_python/1_Basics.ipynb) @@ -21,43 +21,44 @@ - [Control Flow](0_python/5_Control_Flow.ipynb) - [Function](0_python/6_Function.ipynb) - [Class](0_python/7_Class.ipynb) -3. [numpy & matplotlib](1_numpy_matplotlib_scipy_sympy/) +3. [numpy & matplotlib](1_numpy_matplotlib_scipy_sympy/README.md) - [numpy](1_numpy_matplotlib_scipy_sympy/1-numpy_tutorial.ipynb) - [matplotlib](1_numpy_matplotlib_scipy_sympy/2-matplotlib_tutorial.ipynb) -4. [knn](2_knn/knn_classification.ipynb) +4. [kNN](2_knn/knn_classification.ipynb) 5. [kMeans](3_kmeans/1-k-means.ipynb) + - [kMeans - Image Compression](3_kmeans/2-kmeans-color-vq.ipynb) + - [Cluster Algorithms](3_kmeans/3-ClusteringAlgorithms.ipynb) 6. [Logistic Regression](4_logistic_regression/) - [Least squares](4_logistic_regression/1-Least_squares.ipynb) - [Logistic regression](4_logistic_regression/2-Logistic_regression.ipynb) + - [PCA and Logistic regression](4_logistic_regression/3-PCA_and_Logistic_Regression.ipynb) 7. [Neural Network](5_nn/) - [Perceptron](5_nn/1-Perceptron.ipynb) - [Multi-layer Perceptron & BP](5_nn/2-mlp_bp.ipynb) - [Softmax & cross-entroy](5_nn/3-softmax_ce.ipynb) -8. [PyTorch](6_pytorch/) +8. [PyTorch](6_pytorch/README.md) - Basic - - [basic/Tensor-and-Variable](6_pytorch/0_basic/1-Tensor-and-Variable.ipynb) - - [basic/autograd](6_pytorch/0_basic/2-autograd.ipynb) - - [basic/dynamic-graph](6_pytorch/0_basic/3-dynamic-graph.ipynb) + - [Tensor and Variable](6_pytorch/0_basic/1-Tensor-and-Variable.ipynb) + - [autograd](6_pytorch/0_basic/2-autograd.ipynb) - NN & Optimization - - [nn/linear-regression-gradient-descend](6_pytorch/1_NN/linear-regression-gradient-descend.ipynb) - - [nn/logistic-regression](6_pytorch/1_NN/logistic-regression.ipynb) - - [nn/nn-sequential-module](6_pytorch/1_NN/nn-sequential-module.ipynb) - - [nn/bp](6_pytorch/1_NN/bp.ipynb) - - [nn/deep-nn](6_pytorch/1_NN/deep-nn.ipynb) - - [nn/param_initialize](6_pytorch/1_NN/param_initialize.ipynb) - - [optim/sgd](6_pytorch/1_NN/optimizer/sgd.ipynb) - - [optim/adam](6_pytorch/1_NN/optimizer/adam.ipynb) + - [nn/linear-regression-gradient-descend](6_pytorch/1_NN/1-linear-regression-gradient-descend.ipynb) + - [nn/logistic-regression](6_pytorch/1_NN/2-logistic-regression.ipynb) + - [nn/nn-sequential-module](6_pytorch/1_NN/3-nn-sequential-module.ipynb) + - [nn/deep-nn](6_pytorch/1_NN/4-deep-nn.ipynb) + - [nn/param_initialize](6_pytorch/1_NN/5-param_initialize.ipynb) + - [optim/sgd](6_pytorch/1_NN/optimizer/6_1-sgd.ipynb) + - [optim/adam](6_pytorch/1_NN/optimizer/6_6-adam.ipynb) - CNN - [CNN simple demo](demo_code/3_CNN_MNIST.py) - - [cnn/basic_conv](6_pytorch/2_CNN/basic_conv.ipynb) + - [cnn/basic_conv](6_pytorch/2_CNN/1-basic_conv.ipynb) - [cnn/minist (demo code)](./demo_code/3_CNN_MNIST.py) - - [cnn/batch-normalization](6_pytorch/2_CNN/batch-normalization.ipynb) - - [cnn/regularization](6_pytorch/2_CNN/regularization.ipynb) - - [cnn/lr-decay](6_pytorch/2_CNN/lr-decay.ipynb) - - [cnn/vgg](6_pytorch/2_CNN/vgg.ipynb) - - [cnn/googlenet](6_pytorch/2_CNN/googlenet.ipynb) - - [cnn/resnet](6_pytorch/2_CNN/resnet.ipynb) - - [cnn/densenet](6_pytorch/2_CNN/densenet.ipynb) + - [cnn/batch-normalization](6_pytorch/2_CNN/2-batch-normalization.ipynb) + - [cnn/lr-decay](6_pytorch/2_CNN/3-lr-decay.ipynb) + - [cnn/regularization](6_pytorch/2_CNN/4-regularization.ipynb) + - [cnn/vgg](6_pytorch/2_CNN/6-vgg.ipynb) + - [cnn/googlenet](6_pytorch/2_CNN/7-googlenet.ipynb) + - [cnn/resnet](6_pytorch/2_CNN/8-resnet.ipynb) + - [cnn/densenet](6_pytorch/2_CNN/9-densenet.ipynb) - RNN - [rnn/pytorch-rnn](6_pytorch/3_RNN/pytorch-rnn.ipynb) - [rnn/rnn-for-image](6_pytorch/3_RNN/rnn-for-image.ipynb)