|
13 | 13 | from roboflow.models.object_detection import ObjectDetectionModel
|
14 | 14 | from roboflow.models.semantic_segmentation import SemanticSegmentationModel
|
15 | 15 |
|
16 |
| - |
17 | 16 | def login(args):
|
18 | 17 | roboflow.login()
|
19 | 18 |
|
@@ -111,7 +110,24 @@ def get_workspace(args):
|
111 | 110 | api_key = load_roboflow_api_key(args.workspaceId)
|
112 | 111 | workspace_json = rfapi.get_workspace(api_key, args.workspaceId)
|
113 | 112 | print(json.dumps(workspace_json, indent=2))
|
| 113 | + |
| 114 | + |
| 115 | +def run_video_inference_api(args): |
| 116 | + rf = roboflow.Roboflow(args.api_key) |
| 117 | + project = rf.workspace().project(args.project) |
| 118 | + version = project.version(args.version_number) |
| 119 | + model = project.version(version).model |
114 | 120 |
|
| 121 | + #model = VideoInferenceModel(args.api_key, project.id, version.version, project.id) # Pass dataset_id |
| 122 | + # Pass model_id and version |
| 123 | + job_id, signed_url, expire_time = model.predict_video( |
| 124 | + args.video_file, |
| 125 | + fps=40, |
| 126 | + prediction_type="batch-video", |
| 127 | + ) |
| 128 | + results = model.poll_until_video_results(job_id) |
| 129 | + with open("test_video.json", "w") as f: |
| 130 | + json.dump(results, f) |
115 | 131 |
|
116 | 132 | def get_workspace_project_version(args):
|
117 | 133 | # api_key = load_roboflow_api_key(args.workspaceId)
|
@@ -173,6 +189,7 @@ def _argparser():
|
173 | 189 | _add_workspaces_parser(subparsers)
|
174 | 190 | _add_upload_model_parser(subparsers)
|
175 | 191 | _add_get_workspace_project_version_parser(subparsers)
|
| 192 | + _add_run_video_inference_api_parser(subparsers) |
176 | 193 |
|
177 | 194 | return parser
|
178 | 195 |
|
@@ -329,6 +346,34 @@ def _add_workspaces_parser(subparsers):
|
329 | 346 | )
|
330 | 347 | workspaceget_parser.set_defaults(func=get_workspace)
|
331 | 348 |
|
| 349 | +def _add_run_video_inference_api_parser(subparsers): |
| 350 | + run_video_inference_api_parser = subparsers.add_parser( |
| 351 | + "run_video_inference_api", |
| 352 | + help="run video inference api", |
| 353 | + ) |
| 354 | + |
| 355 | + run_video_inference_api_parser.add_argument( |
| 356 | + "-a", |
| 357 | + dest="api_key", |
| 358 | + help="api_key", |
| 359 | + ) |
| 360 | + run_video_inference_api_parser.add_argument( |
| 361 | + "-p", |
| 362 | + dest="project", |
| 363 | + help="project_id to upload the image into", |
| 364 | + ) |
| 365 | + run_video_inference_api_parser.add_argument( |
| 366 | + "-v", |
| 367 | + dest="version_number", |
| 368 | + type=int, |
| 369 | + help="version number to upload the model to", |
| 370 | + ) |
| 371 | + run_video_inference_api_parser.add_argument( |
| 372 | + "-f", |
| 373 | + dest="video_file", |
| 374 | + help="path to video file", |
| 375 | + ) |
| 376 | + run_video_inference_api_parser.set_defaults(func=run_video_inference_api) |
332 | 377 |
|
333 | 378 | def _add_infer_parser(subparsers):
|
334 | 379 | infer_parser = subparsers.add_parser(
|
|
0 commit comments