Task create function template_key keywork

  tsk = autotvm.task.create(tasks[i].name, args=tasks[i].args,
                                      target=tasks[i].target, target_host=tasks[i].target_host,  template_key='winograd')

I am running above code using winograd conv. but template_key='winograd' no longer exist task.create function in 0.7.dev.

So What should i do to get similar functionality in the latest version?

I already use tvm.autotvm.template function but it do not have any example

template_key is deprecated. In 0.7.dev1, you don’t have to specify the template for a task. Instead, task name implies the template it uses. When extracting tasks from a model, Relay op strategy will generate multiple tasks for different templates. For example, one conv2d op in a model may result in two tasks: one for direct and one for Winograd. You can check the task list extracted from the model to see if it has any Winograd tasks. If not, then it means the workloads in your model do not meet the requirement of using Winograd algorithm (see https://github.com/apache/incubator-tvm/blob/master/python/tvm/relay/op/strategy/cuda.py#L102).

1 Like