You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

01-basic_conv.ipynb 358 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. {
  2. "cells": [
  3. {
  4. "cell_type": "markdown",
  5. "metadata": {},
  6. "source": [
  7. "# 卷积计算与模块\n",
  8. "前面我们介绍了卷积网络的基本知识,其在计算机视觉领域被应用得非常广泛,那么常见的卷机网络中用到的模块能够使用 PyTorch 非常轻松地实现,下面我们来讲一下 PyTorch 中的卷积模块。"
  9. ]
  10. },
  11. {
  12. "cell_type": "markdown",
  13. "metadata": {},
  14. "source": [
  15. "## 1. 卷积\n",
  16. "卷积在 PyTorch 中有两种方式,一种是 `torch.nn.Conv2d()`,一种是 `torch.nn.functional.conv2d()`,这两种形式本质都是使用一个卷积操作。\n",
  17. "\n",
  18. "这两种形式的卷积对于输入的要求都是一样的,首先需要输入是一个 `torch.autograd.Variable()` 的类型,大小是 `(batch, channel, H, W)`,其中 `batch` 表示输入的一批数据的数目,第二个是输入的通道数,一般一张彩色的图片是 3,灰度图是 1,而卷积网络过程中的通道数比较大,会出现几十到几百的通道数,`H` 和 `W` 表示输入图片的高度和宽度,比如一个 `batch` 是 32 张图片,每张图片是 3 通道,高和宽分别是 50 和 100,那么输入的大小就是 `(32, 3, 50, 100)`\n",
  19. "\n",
  20. "下面举例来说明一下这两种卷积方式"
  21. ]
  22. },
  23. {
  24. "cell_type": "code",
  25. "execution_count": 1,
  26. "metadata": {},
  27. "outputs": [],
  28. "source": [
  29. "import numpy as np\n",
  30. "import torch\n",
  31. "from torch import nn\n",
  32. "from torch.autograd import Variable\n",
  33. "import torch.nn.functional as F\n",
  34. "from PIL import Image\n",
  35. "import matplotlib.pyplot as plt\n",
  36. "%matplotlib inline"
  37. ]
  38. },
  39. {
  40. "cell_type": "code",
  41. "execution_count": 2,
  42. "metadata": {},
  43. "outputs": [],
  44. "source": [
  45. "im = Image.open('./cat.png').convert('L') # 读入一张灰度图的图片\n",
  46. "im = np.array(im, dtype='float32') # 将其转换为一个矩阵"
  47. ]
  48. },
  49. {
  50. "cell_type": "code",
  51. "execution_count": 3,
  52. "metadata": {},
  53. "outputs": [
  54. {
  55. "data": {

机器学习越来越多应用到飞行器、机器人等领域,其目的是利用计算机实现类似人类的智能,从而实现装备的智能化与无人化。本课程旨在引导学生掌握机器学习的基本知识、典型方法与技术,通过具体的应用案例激发学生对该学科的兴趣,鼓励学生能够从人工智能的角度来分析、解决飞行器、机器人所面临的问题和挑战。本课程主要内容包括Python编程基础,机器学习模型,无监督学习、监督学习、深度学习基础知识与实现,并学习如何利用机器学习解决实际问题,从而全面提升自我的《综合能力》。