Paligemma 2 Mix adalah model AI multimodal yang dibangunkan oleh Google. Ia adalah versi yang lebih baik dari Model Bahasa Paligemma Vision (VLM), mengintegrasikan keupayaan maju dari model SIGLIP Vision dan model bahasa Gemma 2.
Dalam tutorial ini, saya akan menerangkan cara menggunakan campuran Paligemma 2 untuk membina pengimbas rang undang-undang AI dan penganalisis perbelanjaan yang mampu:
- Mengekstrak dan mengkategorikan perbelanjaan dari resit bil.
- Melaksanakan Pengiktirafan Watak Optik (OCR) untuk mendapatkan maklumat utama.
- meringkaskan perbelanjaan berdasarkan imej yang disediakan.
Walaupun tumpuan kami adalah untuk membina alat Insights Financial, anda boleh menggunakan apa yang anda pelajari di blog ini untuk meneroka kes penggunaan lain Paligemma 2 campuran, seperti segmentasi imej, pengesanan objek, dan menjawab soalan.
Apakah campuran Paligemma 2?Paligemma 2 Mix adalah model bahasa-bahasa lanjutan (VLM) yang memproses kedua-dua imej dan teks sebagai input dan menghasilkan output berasaskan teks. Ia direka untuk mengendalikan pelbagai tugas AI multimodal semasa menyokong pelbagai bahasa.
Paligemma 2 direka untuk pelbagai tugas-tugas bahasa penglihatan, termasuk imej dan tajuk video pendek, menjawab soalan visual, pengiktirafan aksara optik (OCR), pengesanan objek, dan segmentasi.
Sumber imej yang digunakan dalam rajah: Google
model campuran Paligemma 2 direka untuk:
Imej & Kapsyen Video Pendek: Menjana kapsyen yang tepat dan konteks untuk imej statik dan video pendek.
- Soalan Visual Menjawab (VQA): Menganalisis imej dan menjawab soalan berasaskan teks berdasarkan kandungan visual.
- Pengiktirafan watak optik (OCR): Mengekstrak dan menafsirkan teks dari imej, menjadikannya berguna untuk dokumen, resit, dan bahan yang diimbas.
- Pengesanan Objek & Segmentasi: Ia Mengenalpasti, Label, dan Segmen Objek dalam Imej untuk Analisis Berstruktur.
- Sokongan pelbagai bahasa: Model ini juga membolehkan penjanaan teks dan pemahaman dalam pelbagai bahasa untuk aplikasi global.
- Anda boleh mendapatkan lebih banyak maklumat mengenai model campuran Paligemma 2 dalam artikel pelepasan rasmi.
Gambaran Keseluruhan Projek: Pengimbas Bill dan Penganalisis Perbelanjaan dengan Paligemma 2 Mix
mari kita menggariskan langkah -langkah utama yang akan kita ambil:
- Muatkan dan sediakan dataset: Proses bermula dengan memuatkan dan menyediakan imej resit sebagai input.
- Mulakan model campuran Paligemma 2: Kami mengkonfigurasi dan memuatkan model untuk memproses tugas bahasa penglihatan.
- Proses Imej Input: Kemudian, tukar imej ke format yang sesuai (RGB) dan sediakannya untuk analisis.
- Ekstrak Maklumat Utama: Melaksanakan Pengiktirafan Watak Optik (OCR) untuk mendapatkan jumlah keseluruhan.
- mengkategorikan perbelanjaan: mengklasifikasikan pembelian ke dalam kategori seperti runcit, pakaian, elektronik, dan lain -lain.
- Menjana wawasan perbelanjaan: Kami meringkaskan perbelanjaan yang dikategorikan dan menghasilkan carta pengedaran perbelanjaan.
- Bina antara muka Vadio Interaktif: Akhirnya, kami membuat UI di mana pengguna boleh memuat naik pelbagai bil, mengekstrak data, dan menganalisis perbelanjaan secara visual.
Langkah 1: Prasyarat
Sebelum kita mula, mari kita pastikan bahawa kita mempunyai alat dan perpustakaan berikut yang dipasang:
- python 3.8
- obor
- Transformers
- pil
- Matplotlib
- Gradio
jalankan arahan berikut untuk memasang kebergantungan yang diperlukan:
pip install gradio -U bitsandbytes -U transformers -q
Setelah kebergantungan di atas dipasang, jalankan arahan import berikut:
import gradio as gr import torch import pandas as pd import matplotlib.pyplot as plt from transformers import PaliGemmaForConditionalGeneration, PaliGemmaProcessor, BitsAndBytesConfig from transformers import BitsAndBytesConfig from PIL import Image import re
Langkah 2: Model Inisialisasi
Kami mengkonfigurasi dan memuatkan model campuran Paligemma 2 dengan kuantisasi untuk mengoptimumkan prestasi. Untuk demo ini, kami akan menggunakan model parameter 10B dengan resolusi imej input 448 x 448. Anda memerlukan minimum T4 GPU dengan memori 40GB (konfigurasi COLAB) untuk menjalankan model ini.
device = "cuda" if torch.cuda.is_available() else "cpu" # Model setup model_id = "google/paligemma2-10b-mix-448" bnb_config = BitsAndBytesConfig( load_in_8bit=True, # Change to load_in_4bit=True for even lower memory usage llm_int8_threshold=6.0, ) # Load model with quantization model = PaliGemmaForConditionalGeneration.from_pretrained( model_id, quantization_config=bnb_config ).eval() # Load processor processor = PaliGemmaProcessor.from_pretrained(model_id) # Print success message print("Model and processor loaded successfully!")
kuantisasi Bitsandbytes membantu mengurangkan penggunaan memori sambil mengekalkan prestasi, menjadikannya mungkin untuk menjalankan model besar pada sumber GPU yang terhad. Dalam pelaksanaan ini, kami menggunakan kuantisasi 4-bit untuk mengoptimumkan kecekapan memori.
Kami memuatkan model menggunakan kelas paligemmaforconditionalgeneration dari Perpustakaan Transformers dengan lulus dalam Model ID dan Konfigurasi Kuantisasi. Begitu juga, kita memuatkan pemproses, yang memproses input ke dalam tensor sebelum menyampaikannya ke model.
Langkah 3: Pemprosesan Imej
Setelah shard model dimuatkan, kami memproses imej sebelum menyampaikannya ke model untuk mengekalkan keserasian format imej dan mendapatkan keseragaman. Kami menukar imej ke format RGB:
def ensure_rgb(image: Image.Image) -> Image.Image: if image.mode != "RGB": image = image.convert("RGB") return image
Sekarang, imej kami siap untuk kesimpulan.
Langkah 4: Kesimpulan dengan Paligemma
Sekarang, kami menyediakan fungsi utama untuk menjalankan kesimpulan dengan model. Fungsi ini mengambil imej input dan soalan, menggabungkannya ke dalam arahan, dan menyerahkannya kepada model melalui pemproses untuk kesimpulan.
def ask_model(image: Image.Image, question: str) -> str: prompt = f"<image> answer en {question}" inputs = processor(text=prompt, images=image, return_tensors="pt").to(device) with torch.inference_mode(): generated_ids = model.generate( **inputs, max_new_tokens=50, do_sample=False ) result = processor.batch_decode(generated_ids, skip_special_tokens=True) return result[0].strip()</image>
Langkah 5: Mengekstrak Maklumat Utama
Sekarang kita mempunyai fungsi utama siap, kita akan bekerja di sebelahnya untuk mengekstrak parameter utama dari imej -dalam kes kita, ini adalah jumlah keseluruhan dan kategori barangan.
pip install gradio -U bitsandbytes -U transformers -q
fungsi Extract_Total_amount () memproses imej untuk mengekstrak jumlah keseluruhan dari resit menggunakan OCR. Ia membina pertanyaan (soalan) yang mengarahkan model untuk mengekstrak hanya nilai berangka, dan kemudian ia memanggil fungsi Ask_model () untuk menghasilkan respons dari model.
import gradio as gr import torch import pandas as pd import matplotlib.pyplot as plt from transformers import PaliGemmaForConditionalGeneration, PaliGemmaProcessor, BitsAndBytesConfig from transformers import BitsAndBytesConfig from PIL import Image import re
Fungsi Categorize_goods () mengklasifikasikan jenis barangan dalam imej dengan mendorong model dengan penyenaraian soalan yang telah ditetapkan yang mungkin kategori: runcit, pakaian, elektronik, atau lain -lain. Fungsi Ask_model () kemudian memproses imej dan mengembalikan respons teks. Sekiranya tindak balas yang diproses sepadan dengan mana -mana kategori sah yang telah ditetapkan, ia mengembalikan kategori itu -sebaik sahaja, ia mungkir kepada kategori "Lain".
Langkah 6: Menganalisis maklumat
Kami mempunyai semua fungsi utama siap, jadi mari kita menganalisis output.
device = "cuda" if torch.cuda.is_available() else "cpu" # Model setup model_id = "google/paligemma2-10b-mix-448" bnb_config = BitsAndBytesConfig( load_in_8bit=True, # Change to load_in_4bit=True for even lower memory usage llm_int8_threshold=6.0, ) # Load model with quantization model = PaliGemmaForConditionalGeneration.from_pretrained( model_id, quantization_config=bnb_config ).eval() # Load processor processor = PaliGemmaProcessor.from_pretrained(model_id) # Print success message print("Model and processor loaded successfully!")
Fungsi di atas mencipta carta pai untuk memvisualisasikan pengagihan perbelanjaan merentasi kategori yang berbeza. Sekiranya tiada data perbelanjaan yang sah, ia menghasilkan angka kosong dengan mesej yang menunjukkan "tiada data perbelanjaan." Jika tidak, ia mewujudkan carta pai dengan label kategori dan nilai peratusan, memastikan visualisasi yang berkadar dan sejajar.
Langkah 6: Menganalisis beberapa bil serentak
Kami biasanya mempunyai banyak bil untuk dianalisis, jadi mari kita buat fungsi untuk memproses semua bil kami secara serentak.
def ensure_rgb(image: Image.Image) -> Image.Image: if image.mode != "RGB": image = image.convert("RGB") return image
Untuk menganalisis pelbagai bil sekaligus, kami melakukan langkah -langkah berikut:
- Inisialisasi Penyimpanan: Kami membuat senarai untuk menyimpan hasil dan imej, tetapkan total_spending ke 0, dan tentukan kamus untuk jumlah kategori yang bijak.
- Proses setiap rang undang -undang:
- Buka dan tukar imej ke RGB.
- Masukkan imej ke senarai.
- Ekstrak jumlah keseluruhan dari resit.
- mengkategorikan barang dalam resit.
- Kemas kini jumlah perbelanjaan dan jumlah kategori yang bijak.
- Simpan data yang diekstrak dalam senarai hasil.
- Menjana pandangan: Kami membuat carta pai pengedaran perbelanjaan bersama -sama dengan ringkasan jumlah perbelanjaan.
- Hasil pulangan: Akhirnya, kami mengembalikan senarai imej, satu data ringkasan Rang Undang -Undang, ringkasan perbelanjaan jumlah, dan carta perbelanjaan.
Langkah 7: Bina antara muka Gradio
Sekarang, kita mempunyai semua fungsi logik utama di tempatnya. Seterusnya, kami bekerja untuk membina UI interaktif dengan Gradio.
def ask_model(image: Image.Image, question: str) -> str: prompt = f"<image> answer en {question}" inputs = processor(text=prompt, images=image, return_tensors="pt").to(device) with torch.inference_mode(): generated_ids = model.generate( **inputs, max_new_tokens=50, do_sample=False ) result = processor.batch_decode(generated_ids, skip_special_tokens=True) return result[0].strip()</image>
Kod di atas mencipta UI Gradio berstruktur dengan pemuat naik fail untuk pelbagai imej dan butang hantar untuk mencetuskan pemprosesan. Setelah penyerahan, imej bil yang dimuat naik dipaparkan dalam galeri, data yang diekstrak ditunjukkan dalam jadual, jumlah perbelanjaan diringkaskan dalam teks, dan carta pai pengedaran perbelanjaan dijana.
Fungsi ini menghubungkan input pengguna ke fungsi process_multiple_bills (), memastikan pengekstrakan dan visualisasi data lancar. Akhirnya, fungsi demo.launch () memulakan aplikasi Gradio untuk interaksi masa nyata.
NOTA: VLMS merasa sukar untuk mengekstrak nombor, yang mungkin membawa kepada keputusan yang salah pada masa -masa. Sebagai contoh, ia mengekstrak jumlah yang salah untuk bil kedua di bawah. Ini boleh dibetulkan dengan menggunakan model yang lebih besar atau hanya menyempurnakan yang sedia ada.

Kesimpulan
Dalam tutorial ini, kami membina pengimbas rang undang-undang yang berkuasa AI menggunakan campuran Paligemma 2, yang dapat membantu kami mengekstrak dan mengkategorikan perbelanjaan kami dari resit. Kami menggunakan keupayaan bahasa Paligemma 2 Mix untuk OCR dan klasifikasi untuk menganalisis perbelanjaan dengan mudah. Saya menggalakkan anda menyesuaikan tutorial ini untuk kes penggunaan anda sendiri. Atas ialah kandungan terperinci Paligemma 2 Mix: Panduan dengan Projek Demo OCR. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Google mengetuai peralihan ini. Ciri "AI Gambaran Keseluruhan" sudah melayani lebih daripada satu bilion pengguna, memberikan jawapan lengkap sebelum ada yang mengklik pautan. [^2] Pemain lain juga mendapat tanah dengan cepat. Chatgpt, microsoft copilot, dan pe

Pada tahun 2022, beliau mengasaskan permulaan pertahanan kejuruteraan sosial Doppel untuk berbuat demikian. Dan sebagai penjenayah siber memanfaatkan model AI yang lebih maju untuk mengatasi serangan mereka, sistem AI Doppel telah membantu perniagaan memerangi mereka secara lebih cepat dan lebih cepat dan lebih cepat

Voila, melalui berinteraksi dengan model dunia yang sesuai, AI generatif dan LLMs boleh didorong secara substansial. Mari kita bercakap mengenainya. Analisis terobosan AI yang inovatif ini adalah sebahagian daripada liputan lajur Forbes yang berterusan pada AI terkini, termasuk

Hari Buruh 2050. Taman di seluruh negara mengisi dengan keluarga yang menikmati barbeku tradisional manakala perarakan nostalgia angin melalui jalan -jalan bandar. Namun perayaan kini membawa kualiti muzium seperti muzium-reenactment bersejarah dan bukannya peringatan c

Untuk membantu menangani trend yang mendesak dan mengganggu ini, artikel yang dikaji semula dalam edisi Februari 2025 TEM Journal menyediakan salah satu penilaian yang paling jelas dan didorong oleh data mengenai tempat yang dihadapi oleh Deepfake teknologi pada masa ini. Penyelidik

Dari mengurangkan masa yang diperlukan untuk merumuskan ubat -ubatan baru untuk mewujudkan tenaga yang lebih hijau, akan ada peluang besar bagi perniagaan untuk memecahkan tanah baru. Terdapat masalah besar, walaupun: ada kekurangan orang yang teruk dengan kemahiran BUSI

Bertahun -tahun yang lalu, saintis mendapati bahawa jenis bakteria tertentu kelihatan bernafas dengan menjana elektrik, dan bukannya mengambil oksigen, tetapi bagaimana mereka melakukannya adalah misteri. Kajian baru yang diterbitkan dalam jurnal Cell mengenal pasti bagaimana ini berlaku: mikrob

Pada persidangan RSAC 2025 minggu ini, Snyk menganjurkan panel yang tepat pada masanya bertajuk "The First 100 Days: How AI, Dasar & Cybersecurity Collide," yang menampilkan barisan All-Star: Jen Easterly, bekas pengarah CISA; Nicole Perlroth, bekas wartawan dan Partne


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).
