Python Pytorch:如何在多个文件夹中加载csv文件
我的数据如下:Python Pytorch:如何在多个文件夹中加载csv文件,python,pytorch,Python,Pytorch,我的数据如下: folder 1 part0001.csv part0002.csv ... part0199.csv folder 2 part0001.csv part0002.csv ... part0199.csv folder 3 part0001.csv part0002.csv ... part0199.csv 更新: 每个.csv文件大约为100Mb。功能和标签都在同一个.csv文件中。每个.csv文件如下所示 feat1 f
folder 1
part0001.csv
part0002.csv
...
part0199.csv
folder 2
part0001.csv
part0002.csv
...
part0199.csv
folder 3
part0001.csv
part0002.csv
...
part0199.csv
更新:
每个.csv
文件大约为100Mb
。功能和标签都在同一个.csv
文件中。每个.csv
文件如下所示
feat1 feat2 label
1 1 3 0
2 3 4 1
3 2 5 0
...
我想批量加载
.csv
文件中的样本。您必须构建一个加载样本的数据集。(文件:)
例如:
导入火炬
从torch.ults.data导入数据集
导入全球2
作为pd进口熊猫
类CustomDataset(数据集):
def uuu init uuu(self,root)
self.root=根
#列出所有csv文件的路径
self.path=glob2.glob('src/***.csv)
定义(自我):
返回len(自路径)
定义(idx):
data=pd.from_csv(self.path[idx])
x=数据[“特征”]
y=数据[“标签”]
返回x,y
这是最基本的,您可以修改它,从每个csv文件中随机抽取样本,或在培训前预处理数据
编辑
如果您只是从csv中插入一行,那么您可以做三件事
导入火炬
从torch.ults.data导入数据集
导入全球2
作为pd进口熊猫
类CustomDataset(数据集):
def uuu init uuu(self,root)
self.root=根
#列出所有csv文件的路径
self.path=glob2.glob('src/***.csv)
#dict将加载数据保存在内存中:
self.cache={}
定义(自我):
返回len(自路径)
定义(idx):
“”“此GetItem将在培训期间加载数据并将其保存在内存中。”“”
data=cache.get(idx,无)
如果数据为无:
data=pd.from_csv(self.path[idx])
尝试:
#将数据缓存到内存中
self.cache{idx:data}
除操作错误外:
#我们可能使用了太多的内存
del self.cache[列表(self.cache.keys())[0]]
rnd_idx=np.random.randint(len(数据))
x=数据['特征][rdn_idx]
y=数据[‘标签][rdn_idx]
返回x,y
有趣的问题。我想查看您的尝试/解决方案。您好,这里的代码每次都会读取整个.csv
文件?但是我想返回一个示例,比如data['features'][index]
。Updated my answer=)。