pytorch读取自己的csv数据集

自己需要完成一个基于时序信号数据的自编码器,但是在读取数据时遇到了一些困难。数据集(无标签)由csv文件构成,每个数据样本为一个csv文件,csv文件中的数据为4列512行。
博客园同步: pytorch读取自己的csv数据集

python代码
// 重写dataset类
import os
import torch
import pandas as pd
from torch.utils.data import Dataset
from torch.utils.data import DataLoader

class myDataset(Dataset):
    def __init__(self, data_dir):
        """
        data_dir: 数据文件路径
        """"
        # 读文件夹下每个数据文件的名称
        self.file_name = os.listdir(data_dir)

        self.data_path = []
        # 把每一个文件的路径拼接起来
        for index in range(len(self.file_name)):
            self.data_path.append(os.path.join(data_dir, self.file_name[index]))

    def __len__(self):
        return len(self.file_name)

    def __getitem__(self, index):
        # 读取每一个数据
        data = pd.read_csv(self.data_path[index], header=None)
        # 转成张量
        data = torch.tensor(data.values)

        return data


// 实例化,读取数据

in_dir = r"E:\202205\train"
# 读取数据集
train_dataset = myDataset(data_dir=in_dir)
# 加载数据集
train_iter = DataLoader(train_dataset)

看看读取的数据的大小和格式

for x in enumerate(train_iter):
	print(x)
    print(type(x))

当index = 0 时的结果为

(0, tensor([[[  5.4378,   5.4378,   5.4378,   5.4378],
         [  5.6137,   5.6137,   5.6137,   5.6137],
         [  5.7855,   5.7855,   5.7855,   5.7855],
         ...,
         [219.6983, 219.6983, 219.6983, 219.6983],
         [214.3309, 214.3309, 214.3309, 214.3309],
         [209.1339, 209.1339, 209.1339, 209.1339]]], dtype=torch.float64))
<class 'tuple'>

对于我来说,tuple不能直接用,需要取出里面的tensor

	# 取出tuple的第二列
	mydata = x[1]
	print(mydata)
    print(mydata.shape)
    print(type(mydata))

当index = 0时的结果为

tensor([[[  5.4378,   5.4378,   5.4378,   5.4378],
         [  5.6137,   5.6137,   5.6137,   5.6137],
         [  5.7855,   5.7855,   5.7855,   5.7855],
         ...,
         [219.6983, 219.6983, 219.6983, 219.6983],
         [214.3309, 214.3309, 214.3309, 214.3309],
         [209.1339, 209.1339, 209.1339, 209.1339]]], dtype=torch.float64)
torch.Size([1, 512, 4])
<class 'torch.Tensor'>

OK,能得到我想要的东西了。

参考文章: https://blog.csdn.net/qq_42653159/article/details/124511467.

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
上一篇 2022年5月25日 下午2:59
下一篇 2022年5月25日 下午3:04

相关推荐

本站注重文章个人版权,不会主动收集付费或者带有商业版权的文章,如果出现侵权情况只可能是作者后期更改了版权声明,如果出现这种情况请主动联系我们,我们看到会在第一时间删除!本站专注于人工智能高质量优质文章收集,方便各位学者快速找到学习资源,本站收集的文章都会附上文章出处,如果不愿意分享到本平台,我们会第一时间删除!