我是靠谱客的博主 忐忑身影,最近开发中收集的这篇文章主要介绍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:202205train"
# 读取数据集
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.

最后

以上就是忐忑身影为你收集整理的pytorch读取自己的csv数据集的全部内容,希望文章能够帮你解决pytorch读取自己的csv数据集所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(81)

评论列表共有 0 条评论

立即
投稿
返回
顶部