Post History
import requests import json import numpy as np import base64 import cv2 Replace this with the actual image path you want to test image_path = 'H_L_.jpg' Read and preprocess the image image ...
#1: Initial revision
HOW TO HANDLE THIS ERROR: "Failed to get input map for signature: serving_default"
import requests import json import numpy as np import base64 import cv2 # Replace this with the actual image path you want to test image_path = 'H_L_.jpg' # Read and preprocess the image image = cv2.imread(image_path) image = cv2.resize(image, (256, 256)) image = image.astype(np.float32) / 255.0 image = np.expand_dims(image, axis=0) # Convert the NumPy array to bytes before encoding encoded_image = base64.b64encode(image.tobytes()).decode('utf-8') # Prepare the JSON request with the signature name data = { "signature_name": "serving_default", "instances": [{"input_1": encoded_image}] # Adjust the input key based on your model's signature } # Replace these labels with your actual labels labels = ['Potato___Early_blight', 'Potato___Late_blight', 'Potato___healthy'] # Send the inference request to TensorFlow Serving url = 'http://localhost:8501/v1/models/model:predict' # Replace 'model' with the actual model name and version headers = {"content-type": "application/json"} response = requests.post(url, data=json.dumps(data), headers=headers) # Process the response if response.status_code == 200: predictions = response.json()['predictions'][0] predicted_class_idx = np.argmax(predictions) predicted_label = labels[predicted_class_idx] print("Predicted Label:", predicted_label) print("Class Probabilities:", predictions) else: print("Error: Unable to get predictions. Status code:", response.status_code) print("Response content:", response.content)