What are detail information of features for xgboost to tune

In the file touch_extractor.cc, I can find that the features are extracted from stmt, and shows as follows. However, I still can not understand the feature very well. Can anyone help me to analysis the details information for features and how it can get from the stmt. Thanks.

 * \note The format of return value is
  • ((
  • (‘itervar’, var),
  • (‘attr’, length, nest_level, topdown, bottomup, one_hot_annotation),
  • (‘arith’, add_ct, mul_ct, div_ct),
  • (‘data_vec_0’, stride, mod, count, reuse, thread_count, thread_reuse),
  • (‘conv_0’, stride, mod, count, reuse, thread_count, thread_reuse),
  • ),
  • (
  • (‘itervar’, var2),
  • (‘attr’, length, nest_level, one_hot_annotation),
  • (‘arith’, add_ct, mul_ct, div_ct),
  • (‘kernel_vec_0’, stride, mod, count, reuse, thread_count, thread_reuse),
  • (‘conv_1’, stride, mod, count, reuse, thread_count, thread_reuse),
  • ))

Help you to find the author of this part @merrymercy :smiley:

We’re currently working on the Auto Scheduler(or you can see it as AutoTVM 2.0). In that project, @merrymercy had implemented a similar but more complexed feature extraction mechanism. The PR of that part will be submitted to TVM repo soon.

You may wait for that to have a better understanding on the features TVM used.

I have an old document. The API might not be up-to-date.

Thanks, It is easy for me to understand those features. very helpful.