Skip to content

Commit 241e2df

Browse files
nv-hwoomc-nv
authored andcommitted
fix artifact path
1 parent fbee5b9 commit 241e2df

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

src/c++/perf_analyzer/genai-perf/genai_perf/parser.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,17 @@ def _set_artifact_paths(args: argparse.Namespace) -> argparse.Namespace:
139139
Set paths for all the artifacts.
140140
"""
141141
if args.artifact_dir == Path(DEFAULT_ARTIFACT_DIR):
142-
name = [f"{args.model}"]
142+
# Preprocess Huggingface model names that include '/' in their model name.
143+
if "/" in args.model:
144+
filtered_name = args.model.split("/")[-1]
145+
logger.info(
146+
f"Model name '{args.model}' cannot be used to create artifact "
147+
f"directory. Instead, '{filtered_name}' will be used."
148+
)
149+
name = [f"{filtered_name}"]
150+
else:
151+
name = [f"{args.model}"]
152+
143153
if args.service_kind == "openai":
144154
name += [f"{args.service_kind}-{args.endpoint_type}"]
145155
elif args.service_kind == "triton":

src/c++/perf_analyzer/genai-perf/tests/test_cli.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,35 @@ def test_default_profile_export_filepath(
247247
captured = capsys.readouterr()
248248
assert captured.out == ""
249249

250+
@pytest.mark.parametrize(
251+
"arg, expected_path",
252+
[
253+
(
254+
["--model", "company/test_model"],
255+
"artifacts/test_model-triton-tensorrtllm-concurrency1",
256+
),
257+
(
258+
[
259+
"--model",
260+
"company/test_model",
261+
"--service-kind",
262+
"openai",
263+
"--endpoint-type",
264+
"chat",
265+
],
266+
"artifacts/test_model-openai-chat-concurrency1",
267+
),
268+
],
269+
)
270+
def test_model_name_artifact_path(self, monkeypatch, arg, expected_path, capsys):
271+
combined_args = ["genai-perf"] + arg
272+
monkeypatch.setattr("sys.argv", combined_args)
273+
args, extra_args = parser.parse_args()
274+
275+
assert args.artifact_dir == Path(expected_path)
276+
captured = capsys.readouterr()
277+
assert captured.out == ""
278+
250279
def test_default_load_level(self, monkeypatch, capsys):
251280
monkeypatch.setattr("sys.argv", ["genai-perf", "--model", "test_model"])
252281
args, extra_args = parser.parse_args()

0 commit comments

Comments
 (0)