You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are interested in optimizing vision DNN models for Jetson devices, so we tried to use TenSet dataset for optimizing DNN models on Jetson Xavier NX.
With some modification to use auto_scheduler.RPCRunner in tune_network.py, we were able to tune networks on Jetson Xavier NX.
We evaluated models available in tune_network.py with --n-trials 10000, and we found that Ansor with pretrained model by TenSet founds good programs than Ansor without TenSet model in the first thousands of trials and final results are slightly better.
We expected that enabling --transfer-tune option makes the result better, because --trasfer-tune looks to improve cost models by using measured result on real device. However, when we tried --transfer-tune option, it caused slower programs in all models. The following are the results:
For investigating the slower results of transfer tune, we read the related code to transfer tune option and found some seemingly strange points in its implementation:
It only tune each task for only one round, even if we give much more trial counts. In ResNet 50, normal Ansor w/ TenSet model tries 10044 trials, but transfer tune only does 1692 times.
It only uses fine-tuned models for the last half of tasks. The first half of tasks are always tuned by the given model.
Could you please tell me the intension of these implementation or how to improve the result of transfer tuning?
The text was updated successfully, but these errors were encountered:
iasakura
changed the title
transfer-tune option tries only 64 trials for each task
transfer-tune option tries only one-round for each task
Oct 12, 2021
Thank you for bringing up this issue! Transfer learning is not a complete feature in our model yet. The purpose of the --transfer-tune option is mostly to test how useful transfer learning is in terms of improving the cost model. We have only tested the effect of transfer learning on a small number of trials so we ignored the later parts of this procedure. A quick fix to your problem could be changing this line
After this modification, the algorithm will collect measurement data on the first half of tasks, train a local model, and use it on the second half of tasks. However, I'm also uncertain about how well transfer learning would perform on a large number of trials.
Hello everyone.
We are interested in optimizing vision DNN models for Jetson devices, so we tried to use TenSet dataset for optimizing DNN models on Jetson Xavier NX.
With some modification to use
auto_scheduler.RPCRunner
intune_network.py
, we were able to tune networks on Jetson Xavier NX.We evaluated models available in
tune_network.py
with--n-trials 10000
, and we found that Ansor with pretrained model by TenSet founds good programs than Ansor without TenSet model in the first thousands of trials and final results are slightly better.We expected that enabling
--transfer-tune
option makes the result better, because--trasfer-tune
looks to improve cost models by using measured result on real device. However, when we tried--transfer-tune
option, it caused slower programs in all models. The following are the results:ResNet 18
ResNet 50
MobileNet v2
MobileNet v3
Wide ResNet 50
DenseNet 121
Inception v3
We use the following commands for evaluation:
For investigating the slower results of transfer tune, we read the related code to transfer tune option and found some seemingly strange points in its implementation:
Could you please tell me the intension of these implementation or how to improve the result of transfer tuning?
The text was updated successfully, but these errors were encountered: