Skip to content
Snippets Groups Projects
Commit 70ead4a7 authored by Yifan Zhao's avatar Yifan Zhao
Browse files

Added example for hpvm binary tuning

parent 97c95f63
No related branches found
No related tags found
No related merge requests found
......@@ -40,3 +40,10 @@ You can open this in the browser and browse to "Getting Started" section.
[here](https://drive.google.com/file/d/1Z84z-nsv_nbrr8t9i28UoxSJg-Sd_Ddu/view?usp=sharing).
In either case, there should be a `model_params/` folder at the root of repo after extraction.
## Binary Tuning Support for HPVM
This branch (`hpvm`) contains experimental support for tuning with HPVM binary.
See `examples/tune_hpvm_bin.py` for an example tuning session using such a binary file.
TODO: attach a frontend-generated binary as an actual example.
import site
from pathlib import Path
site.addsitedir(Path(__file__).parent.parent.absolute().as_posix())
from predtuner import PipedBinaryApp, config_pylogger
# Set up logger to put log file in /tmp
msg_logger = config_pylogger(output_dir="/tmp", verbose=True)
# TODO: fill in these 2 paths:
binary_file = ""
metadata_file = ""
# Create a "piped binary application"
app = PipedBinaryApp("TestBinaryApp", binary_file, metadata_file)
# Start tuning -- see tune_vgg16_cifar10.py for more details on the options
tuner = app.get_tuner()
tuner.tune(100, 3.0, 3.0, True, 50, cost_model="cost_linear")
tuner.dump_configs("configs.json")
fig = tuner.plot_configs(show_qos_loss=True)
fig.savefig("configs.png", dpi=300)
app.dump_hpvm_configs(tuner.best_configs, "hpvm_confs.txt")
......@@ -9,5 +9,6 @@ from .modeledapp import (
QoSModelP1,
QoSModelP2,
)
from .pipedbin import PipedBinaryApp
from .torchapp import TorchApp, TorchApproxKnob
from .torchutil import accuracy
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment