在TVM库中,当使用_relay.build_module.build()_时,relay.build和tvm.build之后的输出结果是什么?
作为输出的两个参数--图形和库--有什么区别和需要?这两个参数后来被用来运行图形或创建图形运行时?
例如,在此代码中:
opt_level = 3
target = tvm.target.cuda()
with relay.build_config(opt_level=opt_level):
graph, lib, params = relay.build_module.build(
net, target, params=params)输出图,lib是什么?我们可以只使用其中的一个来生成一个图形运行时,还是必须同时使用它们,如下所示:
# create random input
ctx = tvm.gpu()
data = np.random.uniform(-1, 1, size=data_shape).astype("float32")
# create module
module = graph_runtime.create(graph, lib, ctx)
# set input and parameters
module.set_input("data", data)
module.set_input(**params)
# run
module.run()
# get output
out = module.get_output(0, tvm.nd.empty(out_shape)).asnumpy()发布于 2020-04-09 07:11:34
要生成图形运行库,始终需要图和lib。
换句话说,图告诉编译器层是如何排列的;lib指定每个层实现的函数。
https://stackoverflow.com/questions/56652201
复制相似问题