# How to use auto\_scheduler to optimize a te.Schedule

**URL:** <https://discuss.tvm.apache.org/t/how-to-use-auto-scheduler-to-optimize-a-te-schedule/17298>\
**Category:** Questions\
**Created:** [May 31, 2024, 3:31pm UTC](https://discuss.tvm.apache.org/t/how-to-use-auto-scheduler-to-optimize-a-te-schedule/17298 "2024-05-31T15:31:07Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![someoneinjd](https://discuss.tvm.apache.org/user_avatar/discuss.tvm.apache.org/someoneinjd/32/5538_2.png) [@someoneinjd](https://discuss.tvm.apache.org/u/someoneinjd)\
**Post date:** [May 31, 2024, 3:31pm UTC](https://discuss.tvm.apache.org/t/how-to-use-auto-scheduler-to-optimize-a-te-schedule/17298/1 "2024-05-31T15:31:07Z")

</div>

Now I only have a `te.Schedule`, is it possible to optimize it with `auto_scheduler`? I tried converting it to `ComputeDAG` and using auto\_scheduler to optimize, but got a KeyError:

```python
def get_optimized_code_from_schedule(sche: te.Schedule, target):
        compute_dag = auto_scheduler.ComputeDAG(sche)
        workload_key = compute_dag.workload_key()
        task = auto_scheduler.SearchTask(compute_dag=compute_dag, workload_key=workload_key, target=target)
        num_trials = 400
        log_file = "ansor_log.json"
        measure_ctx = auto_scheduler.LocalRPCMeasureContext(repeat=1, min_repeat_ms=300, timeout=10)
        tune_option = auto_scheduler.TuningOptions(
            num_measure_trials=num_trials,
            runner=measure_ctx.runner,
            measure_callbacks=[auto_scheduler.RecordToFile(log_file)],
        )
        task.tune(tune_option)

        sch, args = task.apply_best(log_file)
        return tvm.build(sch, args, target=target).import_modules[0].get_source()

# File "/share/tvm/python/tvm/auto_scheduler/measure.py", line 141, in serialize
# serialize_workload_registry_entry(self.task.workload_key),
# File "/share/tvm/python/tvm/auto_scheduler/workload_registry.py", line 229, in serialize_workload_registry_entry
# svalue = WORKLOAD_FUNC_REGISTRY[sname]
# KeyError: '86cc3050675f461b1e799b2935158a97''

```
