Inference

Latest version: v0.41.0

Safety actively analyzes 715032 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 17

127.0.0.19001

result = client.infer_from_yolo_world(
inference_input=YOUR_IMAGE,
class_names=["dog", "cat"],
)


Active Learning 🀝 `workflows`
Active Learning data collection made simple with `workflows` πŸ”₯ Now, with just a little bit of configuration you can start data collection to improve your model over time. Just take look how easy it is:

<div align="center">
<video src="https://github.com/roboflow/inference/assets/146137186/06e0b355-51f3-486d-8a5b-07123284b0e9" />
</div>

Key features:
* works for all models supported at Roboflow platform, including the ones from Roboflow Universe - making it trivial to use off-the-shelf model during project kick-off stage to collect dataset while serving meaningful predictions
* combines well with multiple `workflows` blocks - including `DetectionsConsensus` - making it possible to sample based on predictions of models ensemble πŸ’₯
* Active Learning block may use project-level config of Active Learning or define Active Learning strategy directly in the block definition (refer to [Active Learning documentation πŸ“– ](https://github.com/roboflow/inference/blob/main/inference/core/active_learning/README.md) for details on how to configure data collection)

See [documentation πŸ“– ](https://github.com/roboflow/inference/tree/main/inference/enterprise/workflows#activelearningdatacollector) of new `ActiveLearningDataCollector` to find detailed info.

🌱 Changed
`InferencePipeline` now works with all models supported at Roboflow platform πŸŽ†
For a long time - `InferencePipeline` worked only with object-detection models. This is no longer the case - from now on, other type of models supported at Roboflow platform (including stubs - like `my-project/0`) work under `InferencePipeline`. No changes are required in existing code. Just put `model_id` of your model and the pipeline should work. Sinks suited for detection-only models were adjusted to ignore non-compliant formats of predictions and produce warnings notifying about incompatibility.

πŸ”¨ Fixed
* Bug in `yolact` model in https://github.com/roboflow/inference/pull/266

πŸ† Contributors
paulguerrie (Paul Guerrie), probicheaux (Peter Robicheaux), PawelPeczek-Roboflow (PaweΕ‚ PΔ™czek)


**Full Changelog**: https://github.com/roboflow/inference/compare/v0.9.10...v0.9.11

1.4.0

* **New Kind**: A [secret](https://inference.roboflow.com/workflows/kinds/secret/) kind for credentials is now available. No action needed for existing blocks, but future blocks should use it for secret parameters.

* **Serialization Fix**: Fixed a bug where non-batch outputs weren't being serialized in v1.3.0.

* **Execution Engine Fix**: Resolved an issue with empty inputs being passed to downstream blocks. This update ensures smoother workflow execution and may fix previous issues without any changes needed.

See [full changelog](https://inference.roboflow.com/workflows/execution_engine_changelog/#execution-engine-v140-inference-v0290) for more details.

🚧 Changed

Open Workflows on Roboflow Platform

We are moving towards shareable Workflow Definitions on Roboflow Platform - to reflect that yeldarby made the `api_key` optional in Workflows Run requests in https://github.com/roboflow/inference/pull/843

⛑️ Maintenance
* Update Docker Tag Logic by alexnorell in https://github.com/roboflow/inference/pull/840
* Make check_if_branch_is_mergeable.yml to succeed if merging to main by grzegorz-roboflow in https://github.com/roboflow/inference/pull/848
* Add workflow to check mergeable state executed on pull request by grzegorz-roboflow in https://github.com/roboflow/inference/pull/847

**Full Changelog**: https://github.com/roboflow/inference/compare/v0.28.2...v0.29.0

1.3.0

> [!TIP]
> Changes introduced in Execution Engine `v1.3.0` are non breaking, but we shipped couple of nice extensions and we **encourage** contributors to adopt them.
>
> Full details of the changes and migration guides available [here](https://inference.roboflow.com/workflows/execution_engine_changelog/#execution-engine-v130-inference-v0270).


βš™οΈ [Kinds](https://inference.roboflow.com/workflows/kinds/) with dynamic serializers and deserializers
* Added serializers/deserializers for each kind, enabling integration with external systems.
* Updated the Blocks Bundling page to reflect these changes.
* Enhanced `roboflow_core` kinds with suitable serializers/deserializers.

See our [updated blocks bundling guide](https://inference.roboflow.com/workflows/blocks_bundling/#serializers-and-deserializers-for-kinds) for more details.


πŸ†“ Any data can be now a Workflow input

We've added new Workflows input type `WorkflowBatchInput` - which is capable of accepting any `kind`, unlike our previous inputs like `WorkflowImage`. What's even nicer - you can also specify dimensionality level for `WorkflowBatchInput` - basically **making it possible to break down each workflow into single-steps executed in *debug* mode**.

Take a look at [πŸ“– docs](https://inference.roboflow.com/workflows/definitions/#generic-batch-oriented-inputs) to learn more

πŸ‹οΈ Easier blocks development

We got tired wondering if specific field in block manifest should be marked with `StepOutputSelector`, `WorkflowImageSelector`,
`StepOutputImageSelector` or `WorkflowParameterSelector` type annotation. That was **very confusing** and was effectively increasing the difficulty of contributions.

Since the selectors type annotations are **required** for the Execution Engine that block define *placeholders* for data of specific *kind* we could not eliminate those annotations, but we are making them easier to understand - introducing generic annotation called `Selector(...)`.

`Selector(...)` no longer tells Execution Engine that the block accept batch-oriented data - so we replaced old `block_manifest.accepts_batch_input()` method with two new:
* `block_manifest.get_parameters_accepting_batches()` - to return list of params that `WorkflowBlock.run(...)` method
accepts to be wrapped in `Batch[X]` container
* `block_manifest.get_parameters_accepting_batches_and_scalars()` - to return list of params that `WorkflowBlock.run(...)` method
accepts either to be wrapped in `Batch[X]` container or provided as stand-alone scalar values.

> [!TIP]
> To adopt changes while creating new block - visit our updated [blocks creation](https://inference.roboflow.com/workflows/create_workflow_block/) guide.
>
> To migrate existing blocks - take a look at [migration guide](https://inference.roboflow.com/workflows/execution_engine_changelog/#execution-engine-v130-inference-v0270).

πŸ–ŒοΈ Increased JPEG compression quality
`WorkflowImageData` has a property called `base64_image` which is auto-generated out from `numpy_image` associated to the object. In the previous version of `inference` - default compression level was `90%` - we increased it to `95%`. We expect that this change will generally improve the quality of images passed between steps, yet there is no guarantee of better results from the models (that depends on how models were trained). Details of change: https://github.com/roboflow/inference/pull/798

> [!CAUTION]
> Small changes in model predictions are expected due to this change - as it may happen that we are passing slightly different JPEG images into the models. If you are negatively affected, please let us know via GH Issues.

🧠 Change in Roboflow models blocks
We've changed the way on how Roboflow models blocks work on Roboflow hosted platform. Previously they were using `numpy_image` property of `WorkflowImageData` as an input to `InferenceHTTPClient` while executing remote calls - which usually caused that we are serialising numpy image to JPEG and then to `base64`, whereas usually on Roboflow hosted platform, we had `base64` representation of image already provided, so effectively we were:
* slowing down the processing
* artificially decreasing the quality of images

This is no longer the case, so we do only transform image representation (and apply lossy compression) when needed. Details of change: https://github.com/roboflow/inference/pull/798.

> [!CAUTION]
> Small changes in model predictions are expected due to this change - as it may happen that we are passing slightly different JPEG images into the models. If you are negatively affected, please let us know via GH Issues.

πŸ—’οΈ New kind `inference_id`

We've diagnosed the need to give a semantic meaning for inference identifiers that are used by external systems as correlation IDs.
That's why we introduce new kind - [`inference_id`](https://inference.roboflow.com/workflows/kinds/inference_id/).
We encourage blocks developer to use new kind.

πŸ—’οΈ New field available in `video_metadata` and `image` kinds

We've added new optional field to video metadata - `measured_fps` - take a look at [πŸ“– docs](https://inference.roboflow.com/workflows/internal_data_types/#videometadata)


πŸ—οΈ Changed
* Disable telemetry when running YOLO world by grzegorz-roboflow in https://github.com/roboflow/inference/pull/800
* Pass webrtc TURN config as request parameter when calling POST /inference_pipelines/initialise_webrtc by grzegorz-roboflow in https://github.com/roboflow/inference/pull/801
* Remove reset from YOLO settings by grzegorz-roboflow in https://github.com/roboflow/inference/pull/802
* Pin all dependencies and update to new versions of libs by PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/803
* bumping owlv2 version and putting cache size in env by isaacrob-roboflow in https://github.com/roboflow/inference/pull/813

πŸ”§ Fixed
* Florence 2 - fixing model caching by probicheaux in https://github.com/roboflow/inference/pull/808
* Use measured fps when fetching frames from live stream by grzegorz-roboflow in https://github.com/roboflow/inference/pull/805
* Fix issue with label visualisation by PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/811 and PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/814


**Full Changelog**: https://github.com/roboflow/inference/compare/v0.26.1...v0.27.0

0.41.0

What's Changed
* First 3 Quickstart Guides by yeldarby in https://github.com/roboflow/inference/pull/1056
* Add CSRF Token to Builder by yeldarby in https://github.com/roboflow/inference/pull/1050
* synchronize inputs to onnx session on GPU by isaacrob-roboflow in https://github.com/roboflow/inference/pull/1061
* Add camera calibration util by grzegorz-roboflow in https://github.com/roboflow/inference/pull/1066
* Prevent pipeline creation if there is insufficient memory available by grzegorz-roboflow in https://github.com/roboflow/inference/pull/1060
* Catch ZeroDivisionError in video source by robiscoding in https://github.com/roboflow/inference/pull/1062
* Migrate to new batch processing with CLI tool by PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/1063
* Added code to improve cleanup when there are multiple workers/servers… by bigbitbus in https://github.com/roboflow/inference/pull/1064
* add env for roboflow serverless service by PacificDou in https://github.com/roboflow/inference/pull/1059


**Full Changelog**: https://github.com/roboflow/inference/compare/v0.40.0...v0.41.0

0.40.0

πŸš€ Added

<table>
<tr>
<td width="15%" align="center"><img src="https://github.com/user-attachments/assets/1e431485-4f19-4fff-8219-ef5c2fa0bf88" /></td>
<td width="30%" align="center"><img src="https://github.com/user-attachments/assets/26ad8b4e-f020-4fbd-8eaf-faf7cbd00e4b" /></td>
</tr>
</table>

* Camera calibration block

This block uses the [OpenCV calibrateCamera](https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html) function to remove lens distortions from an image.

This block expands workflows capabilities in the area of taking measurements with camera. With distortions removed measurements performed by [size measurement block](https://inference.roboflow.com/workflows/blocks/size_measurement/) are more accurate.

Block added by grzegorz-roboflow in https://github.com/roboflow/inference/pull/1053

πŸ’ͺ Improved

* Add Background Compilation for OWLv2 Vision Model by lrosemberg in https://github.com/roboflow/inference/pull/1049

Other changes

* Add ability to inject metrics collector URL by PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/1047
* Fix workflows batch processing for Windows paths by PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/1051
* Fix / do not check if torch is in dir() by grzegorz-roboflow in https://github.com/roboflow/inference/pull/1054
* Measure execution time of workflow execution and model inference by grzegorz-roboflow in https://github.com/roboflow/inference/pull/1052


**Full Changelog**: https://github.com/roboflow/inference/compare/v0.39.0...v0.40.0

0.39.0

πŸš€ Added
* [Yolov12 support](https://github.com/roboflow/inference/pull/1042) was added to Inference by probicheaux!
* Use precomputed owl embeddings (change by probicheaux) in https://github.com/roboflow/inference/pull/977
* Added the Enterprise MS SQL Server Block by chandlersupple in https://github.com/roboflow/inference/pull/1043

πŸ’ͺ Improved
* Multistage build improved by bigbitbus in https://github.com/roboflow/inference/pull/1041

Other changes
* Fix broken links in docs by PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/1032
* fix broken docs by hansent in https://github.com/roboflow/inference/pull/1039
* Apply confidence when inferring on classification models by grzegorz-roboflow in https://github.com/roboflow/inference/pull/1036
* Handle environment and classes embedded directly within getWeights payload by grzegorz-roboflow in https://github.com/roboflow/inference/pull/1038
* Add upper version pin for opencv-python-headless by grzegorz-roboflow in https://github.com/roboflow/inference/pull/1045
* Additional action to push to Public artifacts registry by bigbitbus in https://github.com/roboflow/inference/pull/1037
* Align `inference` cli with new data export for RF batch processing by PawelPeczek-Roboflow in https://github.com/roboflow/inference/pull/1040
* add openapi.json to whitelist of dedicated deployment authorizer by PacificDou in https://github.com/roboflow/inference/pull/1048

**Full Changelog**: https://github.com/roboflow/inference/compare/v0.38.0...v0.39.0

Page 1 of 17

Β© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.