《动手学深度学习》(1)安装及预备知识

深度学习是人工智能最热的领域,核心是神经网络;
神经网络是一个非常灵活的框架,允许通过组合不同的神经元来表达对一个问题不同的先验知识;
可以将神经网络看作一门语言,像学习其他计算机语言(如C++)一样来学习神经网络。

目录

  • 《动手学深度学习》课程内容[1]
  • 亚马逊云新用户福利
  • 新实例创建
  • 多维数组
    • 1. N 维数组是机器学习和神经网络的主要数据结构
    • 2. 访问数组元素
    • 3. 数据操作及数据预处理
      • 数据操作涉及到的知识点
      • 数据预处理涉及到的知识点
  • 线性代数
    • 知识点
  • 矩阵计算
    • 知识点
  • 自动求导

《动手学深度学习》课程内容[1]

  • 深度学习基础 — 线性神经网络,多层感知机
  • 卷积神经网络 — LeNet, AlexNet, VGG, Inception, ResNet
  • 循环神经网络 — RNN, GRU, LSTM, seq2seq
  • 注意力机制 — Attention, Transformer
  • 优化算法 — SGD, Momentum, Adam
  • 高性能计算 — 并行,多GPU,分布式
  • 计算机视觉 — 目标检测,语义分割
  • 自然语言处理 — 词嵌入, BERT

注:CNN:空间上的神经网络; RNN:时间上的神经网络

AI地图:
《动手学深度学习》(1)安装及预备知识_第1张图片

亚马逊云新用户福利

亚马逊云新用户某些服务可以免费使用12个月:
step1: 访问 亚马逊云官方网站,新用户注册
《动手学深度学习》(1)安装及预备知识_第2张图片

step2: 选择 计算(compute) - EC2 - 创建新实例,下面步骤就可跟随B站李沐老师的视频讲解【03安装】一起操作

新实例创建

  1. 系统我选择的是ubuntu20.04
  2. 在选择运行内存的时候,注意哪些是免费可用的;
  3. 在选择储存空间的时候,请注意免费的最大空间是30G (我选择了付费50G内存);
  4. 在本地进行 ssh 连接到实例的时候,如果按照 视频03安装的讲解,输入:
ssh ububtu@[your public IPv4 address]

很可能出错:
在这里插入图片描述
解决办法如下:
(1)创建密匙的时候,将密匙下载到电脑
(2)终端进入密匙所在文件夹,输入:chmod 400 [your key name].pem(比如我的 key name是:wen2,那我就输入chmod 400 wen.pem,其中“chmod 400”加不加都可以)
(3)输入以下代码连接到实例:

ssh -i "wen2.pem" ubuntu@ec2-11-22-333-444.ap-southeast-2.compute.amazonaws.com

其中“ec2-11-22-333-444.ap-southeast-2.compute.amazonaws.com”是你的实例公有IPv4DNS地址,“wen2.pem”是你的密匙名字。
如图,可以看到连接成功:
《动手学深度学习》(1)安装及预备知识_第3张图片
如果对以上步骤还不清楚,那么请在实例页面,点击实例ID,进入“实例摘要”,然后点击右上方的“连接”,选择“SSH客户端”,然后第2、3步时直接复制页面上的命令即可(还是要先进入密匙所在文件夹的),如下图:
在这里插入图片描述
《动手学深度学习》(1)安装及预备知识_第4张图片
接着继续跟着李沐老师操作即可。
命令集合如下:

sudo apt update
sudo apt install build-essential
# 不知道你们什么情况,我的机器到这一步python是已经存在了,终端输入`python3`,然后就会启动python3.8.10
sudo apt install python3 # 验证python3.8存在这一步就不用安装了
wget https://repo.anaconda.com/miniconda/Miniconda3-py38_23.1.0-1-Linux-x86_64.sh # 下载 miniconda 安装包【注(1)】
# 安装miniconda,不记得安装包名字可以输入Mini,然后按Tab键补全,安装过程全部yes即可
bash Miniconda3-py38_23.1.0-1-Linux-x86_64.sh
bash # 进入conda基础base环境
pip install jupyter d2l torch torchvision # 安装需要的东西【注(2)】
wget https://zh-v2.d2l.ai/d2l-zh.zip # 下载随书的jupyter记事本文件
sudo apt install zip
unzip d2l-zh.zip
ls # 查看当前目录下文件夹 【注(3)】
cd pytorch/ # 进入pytorch文件夹
ls # 查看pytorch文件夹下的文件
cd # 返回上层文件夹
git clone https://github.com/d2l-ai/d2l-zh-pytorch-slides # 从github上将课程中使用的文件下载下来
jupyter notebook # 运行jupyter
# 将远程的8888端口映射到本地
# 先进入密匙所在文件夹,“wen2.pem”就是密匙名字
# ubuntu@ 后面的就是公有DNS地址
# 然后control+鼠标左键 就可以访问jupyter的链接了
ssh -i "wen2.pem" -L8888:localhost:8888 ubuntu@ec2-1-11-111-111.ap-southeast-2.compute.amazonaws.com
pip install rise # 将jupyter文件转换成ppt查看的插件【注(4)】

注*:
(1) miniconda安装包下载页面
(2)如果安装torch的过程中出现“Killed”的问题,如下图:
在这里插入图片描述
原因是分配的内存不足以安装torch (选择免费的t2.micro实例类型时会出现这个情况,且可能下次ssh的时候,会连接超时,彻底的解决办法就是换个大点的实例类型),可以如下方式解决[7]:

pip install torch torchvision --no-cache-dir

(3)**解压出来的文件夹有4个:mxnet, paddle, pytorch, tensorflow
在这里插入图片描述
(4)rise插件装好之后,刷新网站之后,点击jupyter菜单栏的类似图标(如下图)就可以进入幻灯片模式。若想在幻灯片模式下运行jupyter代码行,点击 shift+return 即可。

在这里插入图片描述

下面是对李沐老师视频讲解的知识点总结,具体内容没有列出来,详细内容看李沐老师的B站视频

多维数组

1. N 维数组是机器学习和神经网络的主要数据结构

《动手学深度学习》(1)安装及预备知识_第5张图片
《动手学深度学习》(1)安装及预备知识_第6张图片

2. 访问数组元素

[x, y] # 访问位于第x行,第y列的一个元素
[x, :] # 访问第x行一整行的元素
[:, y] # 访问第y列一整列的元素
[x1:x2, y1:] # 访问第x1行到第x2行(不包括第x2行的数据),且从y1列到最后一列的一个子区域数据
[::a, ::b] # 跳跃访问,每a行,b列访问一次(也就是将行数是a的倍数,列数是b的倍数的数据取出「包括第0行0列」)

3. 数据操作及数据预处理

跟着李沐老师的视频【04-数据操作+数据预处理】[1] 打开jupyter notebook操作即可,打开的文件是:
d2l-zh-pytorch-slides/chapter_preliminaries/ndarray

数据操作涉及到的知识点

(1)张量及其维度
(2)创建数组的方法
(3)多维数组间的对应元素的计算——标准算术运算
(4)数组的合并,逻辑运算,整个数组求和
(5)维度一样但形状不同的张量通过广播机制进行计算
(6)元素的访问,赋值
(7)一些可能引发新内存的操作
(8)从Tensor类型转换为numpy
(9)大小为1的张量转换成标量

数据预处理涉及到的知识点

(1)csv文件的创建及写入,读取
(2)处理缺失数据的方法
(3)对input的离散值或类别值,将NaN看作一个类别

线性代数

知识点

  1. 标量
  2. 向量
  3. 矩阵
  4. 更多维的张量
  5. 张量的计算

矩阵计算

知识点

  1. 导数和亚导数

自动求导

  1. 求导链式法则
  2. 计算图
  3. 自动求导的两种模式:正向累积,反向累积(又叫反向传播)

参考资料:
[1] 【动手学深度学习v2】01 课程安排
[2] 动手学深度学习PyTorch版B站李沐老师视频列表
[3] 动手学深度学习 (第二版)
[4] Datawhale组队学习
[5] 亚马逊云官方网站
[6] miniconda安装包下载页面
[7] 虚拟机linux安装pytorch被killed

你可能感兴趣的:(深度学习,人工智能)