动手学深度学习一:环境安装与数据学习

2024-01-07 18:27:51

2024,重新开始深度学习。
第一步:李沐动手学深度学习
课程网址:https://courses.d2l.ai/zh-v2/
包含教材和视频网址链接

Jupyter notebook安装

目前在本地先使用cpu版本pytorch,我的本地已经安装好conda,跟着教材创建虚拟环境并下载d2l工具包

创建虚拟环境

conda create --name d2l python=3.9 -y
conda activate d2l

配置pip清华源,否则接下来安装torch容易超时报错

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch==1.12.0
pip install torchvision==0.13.0
mkdir d2l-zh && cd d2l-zh

解压工具包

unzip d2l-zh.zip && rm d2l-zh.zip
cd pytorch

将虚拟环境注入jupyter notebook

conda install ipykernel
python -m ipykernel install --user --name d2l --display-name d2l

运行

jupyter notebook

测试环境与学习数据操作

1.torch张量的广播机制
疑问点:这个操作有什么好处?感觉容易引入很难被发现的问题
为了避免张量广播机制引发的错误,可以采取以下几种方法:

  1. 显式地调整张量的形状:可以使用torch.reshape()函数或者tensor.view()方法来显式地调整张量的形状,使其符合广播规则。通过调整张量的形状,可以确保在进行元素级操作时,张量的维度是兼容的。
import torch

tensor_1 = torch.ones(2, 3, 4)  # 2*3*4
tensor_2 = torch.ones(3, 1)  # 3*1

# 显式地调整张量的形状
tensor_2_expanded = tensor_2.expand(3, 4)  # 扩展为3*4的张量

# 进行元素级操作
tensor = tensor_1 + tensor_2_expanded

print(tensor)
  1. 使用torch.unsqueeze()函数:可以使用torch.unsqueeze()函数在指定的维度上增加一个维度,以满足广播规则。
import torch

tensor_1 = torch.ones(2, 3, 4)  # 2*3*4
tensor_2 = torch.ones(3, 1)  # 3*1

# 在第二个维度上增加一个维度
tensor_2_expanded = torch.unsqueeze(tensor_2, dim=0)  # 扩展为1*3*1的张量

# 进行元素级操作
tensor = tensor_1 + tensor_2_expanded

print(tensor)
  1. 使用torch.broadcast_to()函数:可以使用torch.broadcast_to()函数将张量广播到指定的形状,以满足广播规则。
import torch

tensor_1 = torch.ones(2, 3, 4)  # 2*3*4
tensor_2 = torch.ones(3, 1)  # 3*1

# 将tensor_2广播到2*3*4的形状
tensor_2_broadcasted = torch.broadcast_to(tensor_2, (2, 3, 4))

# 进行元素级操作
tensor = tensor_1 + tensor_2_broadcasted

print(tensor)

2.数据处理pandas的操作-处理缺失数据
pandas加载csv
将非缺失值的均值作为缺失值
isna输出缺失值矩阵
在这里插入图片描述
使用sum统计每一列的缺失值个数
在这里插入图片描述
使用idxmax得到最大值的索引
在这里插入图片描述
使用drop删除含缺失值最多的列
在这里插入图片描述
参考博客:
https://blog.csdn.net/qq_41084438/article/details/102862300
https://blog.csdn.net/wxyczhyza/article/details/120821510
https://blog.csdn.net/2301_76381099/article/details/129228928

文章来源:https://blog.csdn.net/qq_35668469/article/details/135374795
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。