gpt4 book ai didi

deep-learning - 如何创建具有混合分类和连续矩阵输入的 Pytorch 网络

转载 作者:行者123 更新时间:2023-12-02 19:28:03 24 4
gpt4 key购买 nike

我正在创建一个网络网络,它将采用连续值矩阵以及一些表示为所有类向量的分类输入。

现在,我也在寻找通过卷积从矩阵中提取特征。但如果我将矩阵减少到 1 维并与类向量连接,这是不可能的。

有没有办法将其连接在一起作为单个输入?或者我是否必须创建两个单独的输入层,然后在卷积后以某种方式将它们连接起来?如果是后者,我要寻找什么功能?

最佳答案

从分类数据创建连续值的最常见方法是 nn.Embedding 。它创建可用类的可学习向量表示,使得两个相似的类(在特定上下文中)比两个不相似的类更接近。

当您有一个大小为 [v] 的类向量时,嵌入将创建一个大小为 [v, embedding_size] 的张量,其中每个类由长度为 embedding_size 的向量。

num_classes = 4
embedding_size = 10

embedding = nn.Embedding(num_classes, embedding_size)

class_vector = torch.tensor([1, 0, 3, 3, 2])

embedded_classes = embedding(class_vector)
embedded_classes.size() # => torch.Size([5, 10])

如何将它们与连续矩阵结合取决于您的特定用例。如果您只想要一个一维向量,您可以展平并连接它们。另一方面,如果矩阵具有您想要保留的有意义的维度,您应该决定连接哪个维度有意义,并调整 embedding_size 以便它们可以连接。

关于deep-learning - 如何创建具有混合分类和连续矩阵输入的 Pytorch 网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62242396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com