Docker_ml / docs /quickstart /run_model_on_image.md
Sankie005's picture
Upload 434 files
c446951
You can run fine-tuned models on images using Inference.
An Inference server will manage inference. Inference can be run on your local machine, a remote server, or even a Raspberry Pi.
If you need to deploy to the edge, you can use a device like the Jetson Nano. If you need high-performance compute for batch jobs, you can deploy Inference to a server with a GPU.
!!! tip "Tip"
Follow our [Run a Fine-Tuned Model on Images](/docs/quickstart/run_model_on_image) guide to learn how to find a model to run.
!!! info
If you haven't already, follow our Run Your First Model guide to install and set up Inference.
First, start an Inference server:
```
inference server start
```
Next, create a new Python file and add the following code:
```python
from inference.models.utils import get_roboflow_model
from PIL import Image
model = get_roboflow_model(
model_id="soccer-players-5fuqs/1"
)
result = model.infer("path/to/image.jpg")
print(result)
```
Replace your API key, model ID, and model version as appropriate.
- [Learn how to find your API key](https://docs.roboflow.com/api-reference/authentication#retrieve-an-api-key)
- [Learn how to find your model ID](https://docs.roboflow.com/api-reference/workspace-and-project-ids)
Then, run the code. You will see predictions printed to the console in the following format:
```json
{
"predictions": [
{
"class": "rock",
"confidence": 0.9999997615814209,
"height": 0.9999997615814209,
"width": 0.9999997615814209,
"x": 0.0,
"y": 0.0
}
]
}
```
You can plot predictions using `supervision`. You can install supervision using `pip install supervision`. Add the following code to the script you created to plot predictions from Inference:
```python
import supervision as sv
detections = sv.Detections.from_roboflow(results)
labels = [p["class"] for p in predictions["predictions"]]
box_annotator = sv.BoxAnnotator()
annotated_frame = box_annotator.annotate(
scene=image.copy(),
detections=detections,
labels=labels
)
sv.plot_image(image=annotated_frame, size=(16, 16))
```