Replies: 1 comment
-
|
solved |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I am trying to use the following method to visualize the statistics collected by each quantizer during calibration:
visualize_stats(quantsim, dummy_input, save_path="./quant_stats_visualization.html")However, I encounter the following error:
No such file or directory: quant_stats_visualization_JS_code/utils.jsIt appears that the required JavaScript resources are missing when generating the HTML visualization.
`---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
Cell In[32], line 2
1 from aimet_torch.v2.visualization_tools import visualize_stats
----> 2 visualize_stats(quantsim, dummy_input, save_path="./quant_stats_visualization.html")
File ~/.conda/envs/qllm/lib/python3.10/site-packages/aimet_torch/v2/visualization_tools/quant_stats_visualization.py:144, in visualize_stats(sim, dummy_input, save_path)
114 """Produces an interactive html to view the stats collected by each quantizer during calibration
115
116 .. note::
(...)
140 :param save_path: Path for saving the visualization. Default is "./quant_stats_visualization.html"
141 """
143 percentile_list = []
--> 144 _visualize(sim, dummy_input, mode="basic", save_path=save_path, percentile_list=percentile_list)
File ~/.conda/envs/qllm/lib/python3.10/site-packages/aimet_torch/v2/visualization_tools/quant_stats_visualization.py:110, in _visualize(sim, dummy_input, mode, save_path, percentile_list)
107 visualizer = QuantStatsVisualizer(stats_dict, percentile_list)
109 # Save an interactive bokeh plot as a standalone html
--> 110 visualizer.export_plot_as_html(save_path, mode)
File ~/.conda/envs/qllm/lib/python3.10/site-packages/aimet_torch/v2/visualization_tools/quant_stats_visualization.py:831, in QuantStatsVisualizer.export_plot_as_html(self, save_path, mode)
828 inputwidgets = InputWidgets(self.default_values)
830 # Defining Custom JavaScript callbacks
--> 831 customcallbacks = self._define_callbacks(datasources, tableobjects, inputwidgets, mode)
833 # Attach events to corresponding callbacks
834 curdoc().js_on_event(DocumentReady, customcallbacks.reset_callback)
File ~/.conda/envs/qllm/lib/python3.10/site-packages/aimet_torch/v2/visualization_tools/quant_stats_visualization.py:675, in QuantStatsVisualizer._define_callbacks(self, datasources, tableobjects, inputwidgets, mode)
655 selection_columns.append(str(percentile) + "%ilelist")
656 selection_columns.append(str(percentile) + "%ile_namelist")
658 customcallbacks.limit_change_callback = CustomJS(args=dict(
659 limits_source=datasources.limits_source,
660 data_source=datasources.data_source,
661 table_data_source=datasources.table_data_source,
662 selected_data_source=datasources.selected_data_source,
663 min_marker_source=datasources.data_source,
664 max_marker_source=datasources.data_source,
665 ymax_input=inputwidgets.ymax_input,
666 ymin_input=inputwidgets.ymin_input,
667 maxclip_input=inputwidgets.maxclip_input,
668 minclip_input=inputwidgets.minclip_input,
669 plot=self.plot,
670 min_thresh_filter=tableobjects.filters.min_thresh_filter,
671 max_thresh_filter=tableobjects.filters.max_thresh_filter,
672 name_filter=tableobjects.filters.name_filter,
673 select=inputwidgets.table_view_select,
674 table_columns=table_columns,
--> 675 ), code=(Path(file).parent / "quant_stats_visualization_JS_code/utils.js").read_text("utf8") + (Path(file).parent / "quant_stats_visualization_JS_code/limit_change_callback.js").read_text("utf8"))
677 customcallbacks.reset_callback = CustomJS(args=dict(
678 limits_source=datasources.limits_source,
679 data_source=datasources.data_source,
(...)
699 boxplot_unit_width=QuantStatsVisualizer.plot_dims["boxplot_unit_width"],
700 ), code=(Path(file).parent / "quant_stats_visualization_JS_code/utils.js").read_text("utf8") + (Path(file).parent / "quant_stats_visualization_JS_code/reset_callback.js").read_text("utf8"))
702 customcallbacks.name_filter_callback = CustomJS(args=dict(
703 data_source=datasources.data_source,
704 table_data_source=datasources.table_data_source,
(...)
710 table_columns=table_columns,
711 ), code=(Path(file).parent / "quant_stats_visualization_JS_code/utils.js").read_text("utf8") + (Path(file).parent / "quant_stats_visualization_JS_code/name_filter_callback.js").read_text("utf8"))
File ~/.conda/envs/qllm/lib/python3.10/pathlib.py:1134, in Path.read_text(self, encoding, errors)
1130 """
1131 Open the file in text mode, read it, and close the file.
1132 """
1133 encoding = io.text_encoding(encoding)
-> 1134 with self.open(mode='r', encoding=encoding, errors=errors) as f:
1135 return f.read()
File ~/.conda/envs/qllm/lib/python3.10/pathlib.py:1119, in Path.open(self, mode, buffering, encoding, errors, newline)
1117 if "b" not in mode:
1118 encoding = io.text_encoding(encoding)
-> 1119 return self._accessor.open(self, mode, buffering, encoding, errors,
1120 newline)
FileNotFoundError: [Errno 2] No such file or directory: 'conda/envs/qllm/lib/python3.10/site-packages/aimet_torch/v2/visualization_tools/quant_stats_visualization_JS_code/utils.js'
`
Environment
Aimet: 2.0.0.0.216.0.52+torch.gpu
AimetCommon: 2.0.0.0.216.0.52+torch.gpu
AimetTorch: 2.0.0.0.216.0.52+torch.gpu
torch: 2.1.2+cu121
torchvision: 0.16.2+cu121
Question
Is this a known issue with AIMET 2.0, or am I missing some required files or installation steps for visualize_stats to work correctly?
Beta Was this translation helpful? Give feedback.
All reactions