Instructions to use computervisionpro/convnextv2-real-fake with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use computervisionpro/convnextv2-real-fake with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-classification", model="computervisionpro/convnextv2-real-fake") pipe("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/parrots.png")# Load model directly from transformers import AutoImageProcessor, AutoModelForImageClassification processor = AutoImageProcessor.from_pretrained("computervisionpro/convnextv2-real-fake") model = AutoModelForImageClassification.from_pretrained("computervisionpro/convnextv2-real-fake") - Notebooks
- Google Colab
- Kaggle
| library_name: transformers | |
| tags: | |
| - classification | |
| - deepfake | |
| base_model: | |
| - facebook/convnextv2-tiny-1k-224 | |
| # Model Card for Model ID | |
| <!-- Provide a quick summary of what the model is/does. --> | |
| ## Model Details | |
| ### Model Description | |
| <!-- Provide a longer summary of what this model is. --> | |
| This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated. | |
| ### Model Sources [optional] | |
| <!-- Provide the basic links for the model. --> | |
| - **Repository:** [github](https://github.com/g25ait2119/mlops-pipeline-group30) | |
| - **Paper:** [ConvNeXt V2](https://arxiv.org/abs/2301.00808) | |
| ## Model Description | |
| The model is fine-tuned on ConvNext V2 model. | |
| ## Uses | |
| This finetuned model can be used for text classification. It has been trained to classify real and fake images. | |
| #### Hardware | |
| - **Hardware Type:** GPU T4 | |
| - **Hours used:** ~ 14 Minutes | |
| - **Cloud Provider:** Kaggle | |
| ### Inference code | |
| ```python | |
| import os | |
| import torch | |
| from PIL import Image | |
| from transformers import AutoImageProcessor, AutoModelForImageClassification | |
| MODEL_ID = "computervisionpro/convnextv2-real-fake" | |
| def predict(image_path, model_id=MODEL_ID): | |
| # device = "cuda" if torch.cuda.is_available() else "cpu" | |
| device = "cpu" | |
| # hf_token = os.getenv("HF_TOKEN") or None | |
| processor = AutoImageProcessor.from_pretrained(model_id) | |
| model = AutoModelForImageClassification.from_pretrained(model_id) | |
| model.to(device) | |
| model.eval() | |
| image = Image.open(image_path).convert("RGB") | |
| inputs = processor(images=image, return_tensors="pt") | |
| inputs = {key: value.to(device) for key, value in inputs.items()} | |
| with torch.inference_mode(): | |
| outputs = model(**inputs) | |
| probs = torch.softmax(outputs.logits, dim=-1)[0] | |
| pred_id = int(torch.argmax(probs).item()) | |
| label = model.config.id2label.get(pred_id, str(pred_id)) | |
| confidence = float(probs[pred_id].item()) | |
| return { | |
| "image": image_path, | |
| "model": model_id, | |
| "prediction": label, | |
| "confidence": confidence, | |
| "probabilities": { | |
| model.config.id2label.get(i, str(i)): float(prob.item()) | |
| for i, prob in enumerate(probs) | |
| }, | |
| } | |
| result = predict("./dataset/test/fake/fake_1006.jpg") | |
| print() | |
| print(result) | |
| ``` | |
| ### Results | |
| - [WandB](https://wandb.ai/computervisionpro-na/mlops-assignment3) | |
| ## Important Links | |
| - [Data](https://www.kaggle.com/datasets/manjilkarki/deepfake-and-real-images) | |
| - [Kaggle Notebook](https://www.kaggle.com/code/computervisionpro/group30-mlops-a3) |