@@ -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+
7180def 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+
350405def _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