我有一个 Pandas 数据框,其中n行和k列加载到内存中。我想为预测任务获取批次,其中批次的第一个训练示例应该具有(q, k)参考q原始数据帧中的行数(例如 0:128)的形状。下一个例子应该是(128:256, k)等等。因此,最终,一批应该具有(32, q, k)与批量大小相对应的 32 形状。
由于TensorDatasetfromdata_utils在这里不起作用,我想知道最好的方法是什么。我尝试使用将qnp.array_split()值的可能拆分数作为第一维,以便编写自定义 DataLoader,但由于并非所有数组都具有相同的形状,因此不能保证重新整形。
这是一个更清楚的最小示例。在这种情况下,批量大小为 3,q为 2:
import pandas as pd
import numpy as np
df = pd.DataFrame(data=np.arange(0,30).reshape(10,3),columns=['A','B','C'])
数据集:
A B C
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
4 12 13 14
5 15 16 17
6 18 19 20
7 21 22 23
8 24 25 26
9 27 28 29
在这种情况下,第一批的形状应该是 (3,2,3),看起来像:
array([[[ 0., 1., 2.],
[ 3., 4., 5.]],
[[ 3., 4., 5.],
[ 6., 7., 8.]],
[[ 6., 7., 8.],
[ 9., 10., 11.]]])
红糖糍粑
饮歌长啸
慕工程0101907
相关分类