Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from transformers import ImageClassificationPipeline, PerceiverForImageClassificationConvProcessing, PerceiverFeatureExtractor | |
| import torch | |
| torch.hub.download_url_to_file('http://images.cocodataset.org/val2017/000000039769.jpg', 'cats.jpg') | |
| feature_extractor = PerceiverFeatureExtractor() | |
| model = PerceiverForImageClassificationConvProcessing.from_pretrained("deepmind/vision-perceiver-conv") | |
| # define custom pipeline as Perceiver expects "inputs" rather than "pixel_values" | |
| class CustomPipeline(ImageClassificationPipeline): | |
| def _forward(self, model_inputs): | |
| inputs = model_inputs["pixel_values"] | |
| model_outputs = self.model(inputs=inputs) | |
| return model_outputs | |
| image_pipe = CustomPipeline(model=model, feature_extractor=feature_extractor) | |
| def classify_image(image): | |
| results = image_pipe(image) | |
| # convert to format Gradio expects | |
| output = {} | |
| for prediction in results: | |
| predicted_label = prediction['label'] | |
| score = prediction['score'] | |
| output[predicted_label] = score | |
| return output | |
| image = gr.inputs.Image(type="pil") | |
| label = gr.outputs.Label(num_top_classes=5) | |
| examples = [["cats.jpg"]] | |
| gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples, enable_queue=True).launch(debug=True) |