tvm-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [incubator-tvm] srkreddy1238 opened a new issue #5404: [Gradient] Building module out of backward function (gradient pass) fails.
Date Wed, 22 Apr 2020 12:50:17 GMT

srkreddy1238 opened a new issue #5404:
URL: https://github.com/apache/incubator-tvm/issues/5404


   Out of curiosity  I tried to build module out of back ward function by adding below  snippet
at https://github.com/apache/incubator-tvm/blob/3e3ccce1135c25dd1d99dc7c2b8ff589c93ee7ea/tests/python/relay/test_op_grad_level2.py#L145
   
   `       bwd_mod = tvm.ir.IRModule({'main': bwd_func})
           with relay.build_config(opt_level=0):
               graph, lib, params = relay.build(bwd_func, "llvm", None, {})
   `
   
   Here module building fails while Memory Planning. I tried to root cause a bit and here
it goes.
   
   
   The generated IR looks like below
   
   `fn (%data: Tensor[(1, 4, 16, 16), float32], %weight: Tensor[(16, 4, 3, 3), float32]) ->
(Tensor[(1, 16, 16, 16), float32], (Tensor[(1, 4, 16, 16), float32], Tensor[(16, 4, 3, 3),
float32])) {
    %0 = fn () -> () {
       ()
     };
    let %x: ref(fn () -> ()) = ref(%0);`
    %1 = zeros_like(%data) /* ty=Tensor[(1, 4, 16, 16), float32] */;
    %2 = ref(%1);`
   
   `
   
   
   Here above empty function generates IR as
   
    `RefCreateNode(FunctionNode([], TupleTypeNode([]), Tuple([]), [], (nullptr)))`
   
   here the Tuple is empty (empty storage allocation) and memory planner pass fail with below
error.
   
   `
   tvm._ffi.base.TVMError: Traceback (most recent call last):
     [bt] (8) /local/mnt/workspace/sivb/work/Apache/incubator-tvm/build/libtvm.so(tvm::relay::GraphPlanMemory(tvm::relay::Function
const&)+0x174) [0x7fef7354bae4]
     [bt] (7) /local/mnt/workspace/sivb/work/Apache/incubator-tvm/build/libtvm.so(tvm::relay::StorageAllocator::Plan(tvm::relay::Function
const&)+0x2a3) [0x7fef73551fb3]
     [bt] (6) /local/mnt/workspace/sivb/work/Apache/incubator-tvm/build/libtvm.so(tvm::relay::StorageAllocaBaseVisitor::Run(tvm::relay::Function
const&)+0x39d) [0x7fef7354dedd]
     [bt] (5) /local/mnt/workspace/sivb/work/Apache/incubator-tvm/build/libtvm.so(tvm::relay::StorageAllocaBaseVisitor::GetToken(tvm::RelayExpr
const&)+0xf3) [0x7fef7354d5d3]
     [bt] (4) /local/mnt/workspace/sivb/work/Apache/incubator-tvm/build/libtvm.so(tvm::relay::ExprVisitor::VisitExpr(tvm::RelayExpr
const&)+0x83) [0x7fef735db533]
     [bt] (3) /local/mnt/workspace/sivb/work/Apache/incubator-tvm/build/libtvm.so(tvm::relay::ExprFunctor<void
(tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&)+0x445) [0x7fef733e62c5]
     [bt] (2) /local/mnt/workspace/sivb/work/Apache/incubator-tvm/build/libtvm.so(tvm::relay::StorageAllocaBaseVisitor::VisitExpr_(tvm::relay::LetNode
const*)+0x29) [0x7fef7354fdf9]
     [bt] (1) /local/mnt/workspace/sivb/work/Apache/incubator-tvm/build/libtvm.so(tvm::relay::StorageAllocaBaseVisitor::GetToken(tvm::RelayExpr
const&)+0x17f) [0x7fef7354d65f]
     [bt] (0) /local/mnt/workspace/sivb/work/Apache/incubator-tvm/build/libtvm.so(dmlc::LogMessageFatal::~LogMessageFatal()+0x32)
[0x7fef72da7352]
     File "/local/mnt/workspace/sivb/work/Apache/incubator-tvm/src/relay/backend/graph_plan_memory.cc",
line 140
   TVMError: Check failed: it != token_map_.end():
   
   `


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



Mime
View raw message