python - 有没有办法在 Pytorch 中使用 2d 张量作为 MLP 的输入?
问题描述
我是 Pytorch 的新手,我正在尝试在 Pytorch 中训练一个 MLP,以对来自多组时间序列数据的变量进行分类。<
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,或者是否有不同的方法可以做到这一点?
另外,这可能是我糟糕的准确性(培训和测试)的原因吗?
解决方案
多层感知器 (MLP) 是一系列密集层。每一层的输入和输出都是一维向量。MLP 无法明确考虑输入的顺序性。另一方面,如果从数据中清楚地了解顺序属性,则很可能会隐式学习它。因此,这不太可能是分类精度低的原因。
如果您想利用数据的顺序性,您可以使用 RNN over batch×3×4 张量。但是,您应该首先找到导致低准确度的错误,然后才能尝试使架构更复杂。
(只是一个旁注:您的输入似乎是来自某些词汇表/其他类别特征的整数索引。您首先使用嵌入层吗?)
推荐阅读
- c# - 如何在 Xml 元素中添加 if 条件
- python - 当我打开现有文件时 gVim 什么也不显示
- spring - spring initializr:spring-boot-starter vs spring-boot-starter-web
- heroku - 如何使用 Heroku 部署的 Flask 应用程序处理 model.predict 上的超时错误?
- python - 删除字典键中的空格
- excel - 获取所有组合,其中第一项的顺序很重要,但其余的顺序不重要
- embedded - 任务和优化编译器之间的区别
- c++ - 从 SDL 库中的函数返回的指针
- reactjs - React JSX 如何将父自定义反应组件状态属性值传递给子客户组件?
- r - 如何在 ggplot2 R 折线图中获得插值