2023-01-18 11:42am

Version 3 Generated Jan 18, 2023

Roboflow 2.0 Multi-label Classification


Drop Image


Paste YouTube / Image URL

Try this model on images, video, or use your webcam

objects detected

How to Deploy the scanPray Classification API

Using Roboflow, you can deploy your classification model to a range of environments, including:

  • Luxonis OAK
  • Raspberry Pi
  • NVIDIA Jetson
  • A Docker container
  • A web page
  • A Python script using the Roboflow SDK.

Below, we have instructions on how to use our deployment options.

Hosted API
## Infer on Local and Hosted Images To install dependencies, `pip install roboflow` ``` from roboflow import Roboflow rf = Roboflow(api_key="API_KEY") project = rf.workspace().project("MODEL_ENDPOINT") model = project.version(VERSION).model # infer on a local image print(model.predict("your_image.jpg").json()) # infer on an image hosted elsewhere print(model.predict("URL_OF_YOUR_IMAGE", hosted=True).json()) # save an image annotated with your predictions model.predict("your_image.jpg").save("prediction.jpg") ```
## Node.js We're using [axios](https://github.com/axios/axios) to perform the POST request in this example so first run npm install axios to install the dependency. ### Inferring on a Local Image ``` const axios = require("axios"); const fs = require("fs"); const image = fs.readFileSync("YOUR_IMAGE.jpg", { encoding: "base64" }); axios({ method: "POST", url: "https://classify.roboflow.com/MODEL_ENDPOINT/VERSION", params: { api_key: "API_KEY" }, data: image, headers: { "Content-Type": "application/x-www-form-urlencoded" } }) .then(function(response) { console.log(response.data); }) .catch(function(error) { console.log(error.message); }); ```
## Uploading a Local Image Using base64 ``` import UIKit // Load Image and Convert to Base64 let image = UIImage(named: "your-image-path") // path to image to upload ex: image.jpg let imageData = image?.jpegData(compressionQuality: 1) let fileContent = imageData?.base64EncodedString() let postData = fileContent!.data(using: .utf8) // Initialize Inference Server Request with API_KEY, Model, and Model Version var request = URLRequest(url: URL(string: "https://classify.roboflow.com/MODEL_ENDPOINT/VERSION?api_key=API_KEY&name=YOUR_IMAGE.jpg")!,timeoutInterval: Double.infinity) request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") request.httpMethod = "POST" request.httpBody = postData // Execute Post Request URLSession.shared.dataTask(with: request, completionHandler: { data, response, error in // Parse Response to String guard let data = data else { print(String(describing: error)) return } // Convert Response String to Dictionary do { let dict = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] } catch { print(error.localizedDescription) } // Print String Response print(String(data: data, encoding: .utf8)!) }).resume() ```