- 01深度学习笔记--李沐
- 安装
- 数据操作
- 数据预处理
课前储备:包括安装、数据操作和数据预处理等
《动手学深度学习 》中文版网页第一版:《动手学深度学习 》中文版网页第一版
课程主页:课程主页
教材:教材
课程论坛讨论:课程论坛讨论
Pytorch论坛:Pytorch论坛
主要内容:深度学习基础、卷积神经网络、循环神经网络、注意力机制、优化算法、高性能计算、计算机视觉、自然语言处理
深度学习应用举例:图片分类、物体的检测和分割、样式迁移、人脸合成、文字生成图片、文字生成、无人驾驶、广告点击
安装本地安装”使用conda/miniconda环境
conda env remove d2l-zh
conda create -n -y d2l-zh python=3.8 pip(不行就用conda create -n d2l-zh -y python=3.8 pip)(解释一下 d2l-zh 是环境名,-y 表示确认,后面的 python=3.8 pip 是环境包含的内容,表示这个环境必须包括python 3.8 和 pip)
conda activate d2l-zh
安装需要的包:
pip install -y jupyter d2l torch torchvision
下载代码并执行:
wget https://zh-v2.d2l.ai/d2l-zh.zip
unzip d2l-zh.zip
jupyter notebook
N维数组是机器学习和神经网络的主要数据结构
元素访问
比如数组[[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]
访问一个元素:[1,2])(7)
访问一行元素:[1,:] ([5,6,7,8])
访问一列元素:[:,1](2,6,10,14)
子区域:[1:3,1:](表示第1行到第3行的开区间结束,即第1行和第2行,第1列开始到后面所有列)
子区域:[::3,::2](表示把第0行和第3行拿出来,再把第0列和第2列拿出来)
张量表示一个数值组成的数组,这个数组可能有多个维度,通过张量的shape和numel属性访问张量的形状和元素总数;如果要改变张量的形状不改变元素数量和元素值,调用reshape函数
x=torch.arange(12)
X=x.reshape(3,4)
可以用[-1]选择最后一行元素,用[1:3]选择第1行和第2行元素
使用全0全1其他常量或者从特定的分布中随机采样的数字
全0:torch.zeros(2,3)(一个2行3列的全0二维数组)
全1:torch.ones(2,3)(一个2行3列的全1二维数组)
算术运算:
形状不同调用广播机制来执行元素操作
把多个张量连接在一起:
逻辑运算
创建一个人工数据集,并存储在csv文件中
从创建的csv文件中加载原始数据
缺失值处理:常见的有插值和删除,这里考虑插值
对于inputs中的类别值或离散值,将"NaN"视为一个类别



