[Compiler] Cannot compile operator sum


#1

Used the latest master branch, compiling a single operator sum would fail. Also the unit test fail to pass: https://github.com/dmlc/tvm/blob/master/nnvm/tests/python/compiler/test_top_level1.py
Does anyone know where goes wrong? Thanks.

import tvm
import nnvm.symbol as sym
import nnvm.compiler
import nnvm


def test():
    x = sym.Variable("x", dtype=0, shape=(1, 1))
    z = sym.sum(x)
    with nnvm.compiler.build_config(opt_level=1):
        graph, lib, params = nnvm.compiler.build(z, tvm.target.create('llvm'))


if __name__ == "__main__":
    test()

Error message

tvm/nnvm/src/compiler/compile_engine.cc:216: Check failed: out[i].ndim() == out_info[i].ndim() (0 vs. 1) sum

Stack trace returned 10 entries:
[bt] (0) 0   libtvm.dylib                        0x000000010b990756 dmlc::StackTrace() + 1238
[bt] (1) 1   libnnvm_compiler.dylib              0x000000011af28cc5 dmlc::LogMessageFatal::~LogMessageFatal() + 53
[bt] (2) 2   libnnvm_compiler.dylib              0x000000011af258c5 dmlc::LogMessageFatal::~LogMessageFatal() + 21
[bt] (3) 3   libnnvm_compiler.dylib              0x000000011b1e4b01 nnvm::compiler::CompileEngine::GetScheduleArgs(nnvm::Graph, tvm::Array<tvm::Tensor, void> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, tvm::Array<tvm::Tensor, void>*) + 12673
[bt] (4) 4   libnnvm_compiler.dylib              0x000000011b1df054 nnvm::compiler::CompileEngine::DoLower(nnvm::Graph, tvm::Array<tvm::Tensor, void> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) + 468
[bt] (5) 5   libnnvm_compiler.dylib              0x000000011b1ddb29 nnvm::compiler::CompileEngine::Lower(nnvm::Graph, tvm::Array<tvm::Tensor, void> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) + 1465
[bt] (6) 6   libnnvm_compiler.dylib              0x000000011b1dd4b8 nnvm::compiler::GraphLower(nnvm::Graph, tvm::Array<tvm::Tensor, void> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) + 120
[bt] (7) 7   libnnvm_compiler.dylib              0x000000011b23f5d5 nnvm::compiler::GraphCompile(nnvm::Graph const&) + 8101
[bt] (8) 8   libnnvm_compiler.dylib              0x000000011b0c7254 nnvm::Graph std::__1::__invoke_void_return_wrapper<nnvm::Graph>::__call<nnvm::Graph (*&)(nnvm::Graph const&), nnvm::Graph>(nnvm::Graph (*&&&)(nnvm::Graph const&), nnvm::Graph&&) + 84
[bt] (9) 9   libnnvm_compiler.dylib              0x000000011b0c7140 std::__1::__function::__func<nnvm::Graph (*)(nnvm::Graph const&), std::__1::allocator<nnvm::Graph (*)(nnvm::Graph const&)>, nnvm::Graph (nnvm::Graph)>::operator()(nnvm::Graph&&) + 64



Process finished with exit code 1