Skip to content

Commit 775a5d3

Browse files
committed
add upload_model test to main entrypoint CLI
1 parent 6d767a2 commit 775a5d3

File tree

2 files changed

+56
-1
lines changed

2 files changed

+56
-1
lines changed

roboflow/core/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,7 @@ def deploy(self, model_type: str, model_path: str, filename: str = "weights/best
434434
raise (ValueError(f"Model type {model_type} not supported. Supported models are" f" {supported_models}"))
435435

436436
if "yolonas" in model_type:
437-
self.deploy_yolonas(model_type, model_path)
437+
self.deploy_yolonas(model_type, model_path, filename)
438438
return
439439

440440
if "yolov8" in model_type:

roboflow/roboflowpy.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,15 @@ def upload_image(args):
6868
)
6969

7070

71+
def upload_model(args):
72+
rf = roboflow.Roboflow(args.api_key)
73+
workspace = rf.workspace(args.workspace)
74+
project = workspace.project(args.project)
75+
version = project.version(args.version_number)
76+
print(args.model_type, args.model_path, args.filename)
77+
version.deploy(str(args.model_type), str(args.model_path), str(args.filename))
78+
79+
7180
def list_projects(args):
7281
rf = roboflow.Roboflow()
7382
workspace = rf.workspace(args.workspace)
@@ -145,6 +154,7 @@ def _argparser():
145154
_add_infer_parser(subparsers)
146155
_add_projects_parser(subparsers)
147156
_add_workspaces_parser(subparsers)
157+
_add_upload_model_parser(subparsers)
148158
return parser
149159

150160

@@ -347,6 +357,51 @@ def _add_infer_parser(subparsers):
347357
infer_parser.set_defaults(func=infer)
348358

349359

360+
def _add_upload_model_parser(subparsers):
361+
upload_model_parser = subparsers.add_parser(
362+
"upload_model",
363+
help="Upload a trained model to Roboflow",
364+
)
365+
upload_model_parser.add_argument(
366+
"-a",
367+
dest="api_key",
368+
help="api_key",
369+
)
370+
upload_model_parser.add_argument(
371+
"-w",
372+
dest="workspace",
373+
help="specify a workspace url or id (will use default workspace if not specified)",
374+
)
375+
upload_model_parser.add_argument(
376+
"-p",
377+
dest="project",
378+
help="project_id to upload the model into",
379+
)
380+
upload_model_parser.add_argument(
381+
"-v",
382+
dest="version_number",
383+
type=int,
384+
help="version number to upload the model to",
385+
)
386+
upload_model_parser.add_argument(
387+
"-t",
388+
dest="model_type",
389+
help="type of the model (e.g., yolov8, yolov5)",
390+
)
391+
upload_model_parser.add_argument(
392+
"-m",
393+
dest="model_path",
394+
help="path to the trained model file",
395+
)
396+
upload_model_parser.add_argument(
397+
"-f",
398+
dest="filename",
399+
default="weights/best.pt",
400+
help="name of the model file",
401+
)
402+
upload_model_parser.set_defaults(func=upload_model)
403+
404+
350405
def _add_login_parser(subparsers):
351406
login_parser = subparsers.add_parser("login", help="Log in to Roboflow")
352407
login_parser.set_defaults(func=login)

0 commit comments

Comments
 (0)