李沐动手学深度学习-04数据操作+数据预处理

本文介绍了李沐《动手学深度学习》中的数据操作技巧,包括numpy和torch之间的转换、广播机制,以及如何创建和处理CSV文件。内容涵盖了数据缺失值填充、数据类型转换以及数据集的读取与预处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

李沐动手学深度学习-CH04

数据操作的实现

这边的内容感觉不太需要记录,所以就没有写了,忘记了就查找一下嘛。只是简单记录

值得注意的是如果向量形状不一样,他会有一个广播机制,当然这个广播机制的使用也是有一定条件的(可扩展)

A = X.numpy()   # 转换成Numpy张量
B = torch.tensor(A) # 重新转换为torch

创建CSV文件

通过python的os库我们可以创建对应的CSV文件,f.write里面的会分割每一个值,放置到不同的单元格中去

import torch
import os
import pandas as pd

if __name__ == '__main__':
    # 这里创建了data文件夹,如果要到上一级目录里面去可以‘..’,exist_ok表示如果存在也没关系
    # 例如os.makedirs(os.path.join(‘..', 'data'),exist_ok=True)
    os.makedirs(os.path.join('data'),exist_ok=True)
    data_file = os.path.join('data', 'test.csv')

    with open(data_file, 'w') as f:
        f.write('NumRoons,Alley,Price\n')
        f.write('NA,Pave,127500\n')
        f.write('2,NA,106000\n')
        f.write('4,NA,178100\n')
        f.write('NA,NA,140000\n')

从CSV文件中加载数据集并处理

读取csv文件我们使用pandas库,是比较方便的。

data_file = os.path.join('data', 'test.csv')
data = pd.read_csv(data_file)
print(data)

print出来会看到一些NaN的数据缺失,所以我们需要对数据继续一个简单的处理

data_file = os.path.join('data', 'test.csv')
data = pd.read_csv(data_file)
inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]    # 这里就是选取指定的行列,如果出现越界情况的话看一下csv文件的行列,数据类型<class 'pandas.core.frame.DataFrame'>
inputs = inputs.fillna(inputs.mean())   # 这里是把NA值,填称不是NA值的平均值,仅仅针对数值,左边
inputs = pd.get_dummies(inputs, dummy_na=True)  # 这就对字符串的那种单元格进行了处理。具体看截图,右边
x, y = torch.tensor(inputs.values), torch.tensor(outputs.values)
print(x,y)

数值处理
字符处理在这里插入图片描述值得注意的是,python数据类型默认是float64,但是以后为了能够更快的完成运算一般都会使用float32

<think>好的,用户需要下载的《动手学深度学习》V2中的目标检测数据集。首先,我得确认这本书的官方资源在哪里。通常,老师的课程和相关资料会在Apache MXNet的GitHub仓库或者D2L的专门网站上。 我记得《动手学深度学习》的官方网站是d2l.ai,应该在那里能找到数据集的链接。用户提到的目标检测数据集,可能是指Pikachu数据集,这是书中常用的示例数据集,用于目标检测的教学。需要检查该数据集是否在D2L的GitHub仓库中提供。 接下来,访问D2L的GitHub仓库,查看对应的版本分支。V2版本可能对应的是pytorch分支,所以需要确认数据集的路径。通常,数据集可能存放在`d2l-data`仓库中,或者作为附加资源在代码目录里。例如,Pikachu数据集可能位于`d2l/pikachu`目录下,或者通过特定的下载脚本获取。 此外,用户可能需要安装D2L库,通过pip安装d2l包,然后使用内置的函数下载数据集。例如,在代码中调用`d2l.download_pikachu()`这样的函数。需要确认该函数是否存在,并指导用户如何正确使用。 另外,还要考虑数据集下载的备用链接,比如作者提供的AWS或其它云存储链接,以防GitHub访问受限。同时,检查是否有数据预处理步骤,确保用户下载后能正确加载和使用数据。 最后,生成相关问题,帮助用户扩展了解目标检测的其他数据集、数据加载方法,以及数据增强技术,这些都是在实际应用中可能需要的知识。</think>要下载《动手学深度学习》V2中的目标检测数据集,可通过以下步骤实现: 1. **访问官方GitHub仓库** 团队在GitHub维护了完整的代码和数据资源,目标检测数据集位于: ```bash https://github.com/d2l-ai/d2l-pytorch/tree/master/data ``` 在该目录下可以找到`pikachu`目标检测数据集(含图片和标注文件)[^1] 2. **使用D2L库自动下载** 安装Python库后可直接调用API: ```python import d2l data_dir = d2l.download_data('https://d2l-data.s3-accelerate.amazonaws.com/pikachu.zip') ``` 3. **手动下载地址** 直接访问AWS存储桶下载原始文件: ``` https://d2l-data.s3-accelerate.amazonaws.com/pikachu.zip ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值