YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

import torch
from PIL import Image
from transformers import AutoProcessor, AutoModelForImageTextToText
import os

# --- 1. Model və Prosessoru Hugging Face Hub-dan yükləyin ---

# Modelinizin Hugging Face repozitoriya ID-si
hf_repo_id = "nijatzeynalov/azmedgemma-4b-lung-cxr-1ep"

print(f"'{hf_repo_id}' model və prosessoru yüklənir...")

# GPU varsa, onu istifadə edin
device = "cuda" if torch.cuda.is_available() else "cpu"

# Modeli bfloat16 dəqiqliyində yükləyərək yaddaşa qənaət edin
model = AutoModelForImageTextToText.from_pretrained(
    hf_repo_id,
    torch_dtype=torch.bfloat16,
    device_map=device
)
processor = AutoProcessor.from_pretrained(hf_repo_id)

print("Model və prosessor uğurla yükləndi.")

CLASSES = [
    'Atelektazi', 'Ağciyər Bulanıqlığı', 'Ağciyər Lezyonu',
    'Böyümüş Kardiomediastinum', 'Digər Plevral Tapıntılar', 'Dəstək Qurğuları',
    'Heç bir tapıntı yoxdur', 'Kardiomeqaliya', 'Konsolidasiya',
    'Plevral Maye Toplanması', 'Pnevmatik döş qəfəsi (Pnevmotoraks)',
    'Sınıq', 'Sətəlcəm', 'Ödəm'
]

# Təlim zamanı istifadə etdiyiniz prompt formatını eynilə tətbiq edin
options = "\\n".join(f"- {label}" for label in CLASSES)
prompt_text = (
    "Bu, bir ağciyər MRT (və ya rentgen) şəkilidir.\\n"
    "Aşağıdakı siyahıdakı diaqnozlardan hansı(lar) bu şəkildə ehtimal olunur?\\n"
    "Bir və ya bir neçə variantı seçə bilərsiniz.\\n"
    f"{options}\\n"
)

# Chat formatına uyğun mesajlar siyahısı yaradın
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image"},
            {"type": "text", "text": prompt_text},
        ],
    }
]

# Prosessor vasitəsilə tam promptu hazırlayın
templated_prompt = processor.apply_chat_template(
    messages, add_generation_prompt=True, tokenize=False
)

# --- 3. Lokal şəkli yükləyin ---

local_image_path = "image (2).jpg"

image = Image.open(local_image_path).convert("RGB")


# --- 4. Model ilə nəticəni yaradın (Inference) ---

inputs = processor(images=[image], text=templated_prompt, return_tensors="pt").to(device, torch.bfloat16)
input_ids_len = inputs["input_ids"].shape[1]

print("\nNəticə yaradılır...")
generated_ids = model.generate(
    **inputs,
    max_new_tokens=50,
    do_sample=False,
    # Modeli cümlənin sonunda dayanmağa məcbur et
    eos_token_id=processor.tokenizer.eos_token_id
)

# --- 5. Nəticəni deşifrə edin və göstərin (DƏYİŞİKLİK) ---
newly_generated_ids = generated_ids[:, input_ids_len:]
assistant_response_raw = processor.batch_decode(newly_generated_ids, skip_special_tokens=True)[0]

# Təkrarlanan hissələri təmizlə: "\nmodel" sözündən əvvəlki ilk hissəni götür
clean_response = assistant_response_raw.split("\n")[0].strip()

print("\n--- Modelin Diaqnozu ---")
print(clean_response)
Downloads last month
3
Safetensors
Model size
4B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support