有没有一种方法可以将2d张量用作Pytorch中MLP的输入?

时间:2020-08-12 06:40:03

标签: python pytorch mlp

我是Pytorch的新手,我正尝试在Pytorch中训练MLP,以从多组时间序列数据中对变量进行分类。 << / p>

 Example[time, a, b, c]: 
    {[0, 10, 15, 20] [1, 11, 17, 10] [2, 12, 12, 6]} -> 1 
    {[0, 10, 12, 9] [1, 15, 13, 0] [2, 18, 11, 7]} -> 2 

现在,我将每个2d张量重塑为1d(即[0,10,15,20,1,11,17,10,2,12,12,6]),然后将它们放置在Data Loader中,但是我想知道是否可以将它们保持2d,或者是否有其他方法可以实现?

还有,这是否是我的准确性太差的原因(包括培训和测试)?

1 个答案:

答案 0 :(得分:0)

多层感知器(MLP)是一排密集的层。每个层的输入和输出都是一维向量。 MLP不可能如何明确考虑输入的顺序性质。另一方面,如果从数据中清除了顺序属性,则很有可能隐式地学习它。因此,这极有可能不是分类准确率低的原因。

如果要利用数据的顺序性质,可以在批处理×3×4张量上使用RNN。但是,您应该首先找到导致精度降低的错误,然后再尝试使体系结构更加复杂。

(只是一个旁注:您的输入似乎是来自某些词汇/其他类别特征的整数索引。您首先使用嵌入层吗?)