01深度学习笔记--李沐《动手学深度学习》

文章目录

  • 01深度学习笔记--李沐
    • 安装
    • 数据操作
    • 数据预处理

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维数组是机器学习和神经网络的主要数据结构
01深度学习笔记--李沐《动手学深度学习》_第1张图片
01深度学习笔记--李沐《动手学深度学习》_第2张图片
元素访问

比如数组[[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列拿出来)
01深度学习笔记--李沐《动手学深度学习》_第3张图片

张量表示一个数值组成的数组,这个数组可能有多个维度,通过张量的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二维数组)

算术运算:
01深度学习笔记--李沐《动手学深度学习》_第4张图片
形状不同调用广播机制来执行元素操作
01深度学习笔记--李沐《动手学深度学习》_第5张图片
把多个张量连接在一起:
01深度学习笔记--李沐《动手学深度学习》_第6张图片
逻辑运算
01深度学习笔记--李沐《动手学深度学习》_第7张图片

数据预处理

创建一个人工数据集,并存储在csv文件中
01深度学习笔记--李沐《动手学深度学习》_第8张图片
从创建的csv文件中加载原始数据
01深度学习笔记--李沐《动手学深度学习》_第9张图片
缺失值处理:常见的有插值和删除,这里考虑插值
01深度学习笔记--李沐《动手学深度学习》_第10张图片
对于inputs中的类别值或离散值,将"NaN"视为一个类别
01深度学习笔记--李沐《动手学深度学习》_第11张图片

你可能感兴趣的:(深度学习,pytorch,神经网络)