代码之家  ›  专栏  ›  技术社区  ›  Drew rgaut

mxnet无法推断类型

  •  1
  • Drew rgaut  · 技术社区  · 7 年前

    我的mxnet代码-由一系列复杂连接和切片组成,引发了以下错误:

    Error in operator concat0: [03:03:51] src/operator/./concat-inl.h:211: Not enough information to infer type in Concat.
    

    # Define take_column function as transpose(take(transpose(x), i))
    
    for i in range(47):
        y_hat_lt = take_column(y_hat,
                    mx.sym.concat(mx.sym.slice(some_indices, begin=i, end=i+1), self.label_dim + mx.sym.slice(some_indices, begin=i, end=i+1), dim=0))
    

    这里的一些_索引是一个变量,我将其固定为一个列表。一定要让我知道!

    2 回复  |  直到 7 年前
        1
  •  2
  •   eric-haibin-lin    7 年前

    看起来MXNet无法推断输出的形状。您是否为变量some_索引指定了形状?

    e、 g.一些_指数=mx。符号。var('指数',形状=(1,1))

        2
  •  0
  •   Drew rgaut    7 年前

    轴之间的交换解决了问题,而不是转置。

    def ttake( x, i ):
        """ Take from axis 1 instead of 0.
        """
        a = mx.sym.swapaxes(x, dim1=0, dim2=1)
        return mx.sym.flatten( mx.sym.transpose( mx.sym.take( a , i ) ) )