π Added
Roboflow `workflows` π€
A new way to create ML pipelines without writing code. Declare the sequence of models and intermediate processing steps using JSON config and execute using `inference` container (or Hosted Roboflow platform). No Python code needed! π€― Just watch our feature preview
<div align="center">
<video src="https://github.com/roboflow/inference/assets/146137186/66c3936b-980c-4e68-a845-fa8a20819f71" />
</div>
**Want to experiment more?**
bash
pip install inference-cli
inference server start --dev
Hit http://127.0.0.1:9001 in your browser, then click **`Jump Into an Inference Enabled Notebook β`** button and open the notebook named `workflows.ipynb`:
<p align="center">
<img src="https://github.com/roboflow/inference/assets/146137186/c297e751-fc11-4f62-832c-97531142dcbe" />
</p>
We encourage to acknowledge our [documentation](https://github.com/roboflow/inference/tree/main/inference/enterprise/workflows) π to reveal full potential of Roboflow `workflows`.
This feature is still under heavy development. **Your feedback is needed to make it better!**
Take `inference` to the cloud with one command π
Yes, you got it right. `inference-cli` package now provides set of `inference cloud` commands to deploy required infrastructure without effort.
Just:
bash
pip install inference-cli
And depended on your needs use:
bash
inference cloud deploy --provider aws --compute-type gpu
or
inference cloud deploy --provider gcp --compute-type cpu
With example posted here, we are just scratching the surface - visit our [docs](roboflow-inference-aws-cpu-ftbmy-3453) π where more examples are presented.
π₯ **YOLO-NAS** is coming!
* We plan to onboard YOLO-NAS to the Roboflow platform. In this release we are introducing foundation work to make that happen. Stay tuned!
[`supervision`](https://github.com/roboflow/supervision) π€ `inference`
We've extended capabilities of `inference infer` command of `inference-cli` package. Now it is capable to run inference against images, directories of images and videos, visualise predictions using `supervision` and save them in the location of choice.
<p align="center">
<img src="https://github.com/roboflow/inference/assets/146137186/90b8aa72-44cb-4cd1-9c41-42952b7bf5e9" />
</p>
**What does it take to get your predictions?**
bash
pip install inference-cli
start the server
inference server start
run inference
inference infer -i {PATH_TO_VIDEO} -m coco/3 -c bounding_boxes_tracing -o {OUTPUT_DIRECTORY} -D
There are plenty of configuration options that can alter the visualisation. You can use predefined configs (example: `-c bounding_boxes_tracing`) or create your own. See our [docs](https://inference.roboflow.com/inference_helpers/inference_cli/#inference-infer) π to discover all options.
π± Changed
* β **`breaking`**: Pydantic 2: Inference now depends on `pydantic>=2`.
* β **`breaking`**: Default values of parameters (like `confidence`, `iou_threshold` etc.) that were set for newer parts of `inference` (including inference HTTP container endpoints) were aligned with more reasonable defaults that hosted Roboflow platform uses. That is going to make the experience of `inference` usage consistent with Roboflow platform. This, however, will alter the behaviour of package for clients that **do not specify** their own values of parameters while making predictions. Summary: `confidence` is from now on defaulted to `0.4` and `iou_threshold` to `0.3`. We encourage clients using self-hosted containers to evaluate results on their end. Changes to be inspected [here](https://github.com/roboflow/inference/pull/234/files).
* API calls to HTTP endpoints with Roboflow models now accept `disable_active_learning` flag that prevents Active Learning being active for specific request
* [Documentation](https://inference.roboflow.com/) π was refreshed. Redesign is supposed to make the content easier to comprehend. We would love to have some feedback π
π¨ Fixed
* β **`breaking`**: Fixed the issue https://github.com/roboflow/inference/issues/260 with bug introduced in version [v0.9.3](https://github.com/roboflow/inference/releases/tag/v0.9.3) causing classification models with 10 and more classes to assign wrong `class` name to predictions (despite maintaining good class ids) - clients relying on `class` name instead on class_id of predictions were affected.
* β **`breaking`**: Typo `coglvm -> cogvlm` in `inference-sdk` HTTP client method name `prompt_cogvlm(...)`
**Full Changelog**: https://github.com/roboflow/inference/compare/v0.9.8...v0.9.9