commit 71401d722d4f3972f1a585b55757ff9c22ed3da2 Author: ModelHub XC Date: Mon Jun 15 07:16:12 2026 +0800 初始化项目,由ModelHub XC社区提供模型 Model: prithivMLmods/Gliese-OCR-7B-Post1.0 Source: Original Platform diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8a0c7a7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,55 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bin.* filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zstandard filter=lfs diff=lfs merge=lfs -text +*.tfevents* filter=lfs diff=lfs merge=lfs -text +*.db* filter=lfs diff=lfs merge=lfs -text +*.ark* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text +**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text + +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.gguf* filter=lfs diff=lfs merge=lfs -text +*.ggml filter=lfs diff=lfs merge=lfs -text +*.llamafile* filter=lfs diff=lfs merge=lfs -text +*.pt2 filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text + +tokenizer.json filter=lfs diff=lfs merge=lfs -text +model-00001-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text +vocab.json filter=lfs diff=lfs merge=lfs -text +model-00003-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text +model-00002-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text +merges.txt filter=lfs diff=lfs merge=lfs -text +model-00004-of-00004.safetensors filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/Gliese-OCR-7B-Post1.0(4-bit)-reportlab/Gliese_OCR_7B_Post1_0(4_bit)_reportlab.ipynb b/Gliese-OCR-7B-Post1.0(4-bit)-reportlab/Gliese_OCR_7B_Post1_0(4_bit)_reportlab.ipynb new file mode 100644 index 0000000..4182f62 --- /dev/null +++ b/Gliese-OCR-7B-Post1.0(4-bit)-reportlab/Gliese_OCR_7B_Post1_0(4_bit)_reportlab.ipynb @@ -0,0 +1,401 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "DgpubXociwNK" + }, + "source": [ + "## **Gliese-OCR-7B-Post1.0(4-bit)**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Nb3wNhothvX7" + }, + "source": [ + "The Gliese-OCR-7B-Post1.0 model is a fine-tuned version of Camel-Doc-OCR-062825, optimized for Document Retrieval, Content Extraction, and Analysis Recognition. Built on top of the Qwen2.5-VL architecture, this model enhances document comprehension capabilities with focused training on the Opendoc2-Analysis-Recognition dataset for superior document analysis and information extraction tasks.\n", + "\n", + " > This model shows significant improvements in LaTeX rendering and Markdown rendering for OCR tasks.\n", + "\n", + "| Image1 | Image2 |\n", + "|--------|--------|\n", + "| ![Screenshot 2025-08-30 at 12-50-11 Gradio.png](https://cdn-uploads.huggingface.co/production/uploads/65bb837dbfb878f46c77de4c/sZj3Gx32ICpm2lAVhmY_y.png) | ![Screenshot 2025-08-30 at 12-49-41 (anonymous) - output_426f8ad8-53ee-4609-9d55-6629ac37b055.pdf.png](https://cdn-uploads.huggingface.co/production/uploads/65bb837dbfb878f46c77de4c/ywaoJWmkDgjbJXVR_hsZO.png) |\n", + "\n", + "*multimodal model & notebook by: [prithivMLmods](https://huggingface.co/prithivMLmods)*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Mk560Wx0j6PY" + }, + "source": [ + "### **Install packages**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "qTD_dNliNS5T" + }, + "outputs": [], + "source": [ + "%%capture\n", + "!pip install git+https://github.com/huggingface/transformers.git \\\n", + " git+https://github.com/huggingface/accelerate.git \\\n", + " git+https://github.com/huggingface/peft.git \\\n", + " transformers-stream-generator huggingface_hub albumentations \\\n", + " pyvips-binary qwen-vl-utils sentencepiece opencv-python docling-core \\\n", + " python-docx torchvision safetensors matplotlib num2words \\\n", + "\n", + "!pip install xformers requests pymupdf hf_xet spaces pyvips pillow gradio \\\n", + " einops torch fpdf timm av decord bitsandbytes reportlab\n", + "#Hold tight, this will take around 1-2 minutes." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "uiBblyf-kLmf" + }, + "source": [ + "### **Run Demo App**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "pgz93DfvNMfb" + }, + "outputs": [], + "source": [ + "import spaces\n", + "import json\n", + "import math\n", + "import os\n", + "import traceback\n", + "from io import BytesIO\n", + "from typing import Any, Dict, List, Optional, Tuple\n", + "import re\n", + "import time\n", + "from threading import Thread\n", + "from io import BytesIO\n", + "import uuid\n", + "import tempfile\n", + "\n", + "import gradio as gr\n", + "import requests\n", + "import torch\n", + "from PIL import Image\n", + "import fitz\n", + "import numpy as np\n", + "\n", + "# --- New Model Imports ---\n", + "from transformers import (\n", + " Qwen2_5_VLForConditionalGeneration,\n", + " AutoProcessor,\n", + " TextIteratorStreamer,\n", + " BitsAndBytesConfig,\n", + ")\n", + "\n", + "from reportlab.lib.pagesizes import A4\n", + "from reportlab.lib.styles import getSampleStyleSheet\n", + "from reportlab.platypus import SimpleDocTemplate, Image as RLImage, Paragraph, Spacer\n", + "from reportlab.lib.units import inch\n", + "\n", + "# --- Constants and Model Setup ---\n", + "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n", + "\n", + "print(\"CUDA_VISIBLE_DEVICES=\", os.environ.get(\"CUDA_VISIBLE_DEVICES\"))\n", + "print(\"torch.__version__ =\", torch.__version__)\n", + "print(\"torch.version.cuda =\", torch.version.cuda)\n", + "print(\"cuda available:\", torch.cuda.is_available())\n", + "print(\"cuda device count:\", torch.cuda.device_count())\n", + "if torch.cuda.is_available():\n", + " print(\"current device:\", torch.cuda.current_device())\n", + " print(\"device name:\", torch.cuda.get_device_name(torch.cuda.current_device()))\n", + "\n", + "print(\"Using device:\", device)\n", + "\n", + "\n", + "# --- Model Loading (Updated for Qwen2.5-VL) ---\n", + "\n", + "# Define model options\n", + "MODEL_OPTIONS = {\n", + " \"Gliese-OCR-7B-Post1.0\": \"prithivMLmods/Gliese-OCR-7B-Post1.0\",\n", + "}\n", + "\n", + "# Define 4-bit quantization configuration\n", + "# This config will load the model in 4-bit to save VRAM.\n", + "quantization_config = BitsAndBytesConfig(\n", + " load_in_4bit=True,\n", + " bnb_4bit_compute_dtype=torch.float16,\n", + " bnb_4bit_quant_type=\"nf4\",\n", + " bnb_4bit_use_double_quant=True,\n", + ")\n", + "\n", + "# Preload models and processors into CUDA\n", + "models = {}\n", + "processors = {}\n", + "for name, model_id in MODEL_OPTIONS.items():\n", + " print(f\"Loading {name}🤗. This will use 4-bit quantization to save VRAM.\")\n", + " models[name] = Qwen2_5_VLForConditionalGeneration.from_pretrained(\n", + " model_id,\n", + " trust_remote_code=True,\n", + " quantization_config=quantization_config,\n", + " device_map=\"auto\"\n", + " )\n", + " processors[name] = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)\n", + "print(\"Model loaded successfully.\")\n", + "\n", + "\n", + "# --- PDF Generation and Preview Utility Function (Unchanged) ---\n", + "def generate_and_preview_pdf(image: Image.Image, text_content: str, font_size: int, line_spacing: float, alignment: str, image_size: str):\n", + " \"\"\"\n", + " Generates a PDF, saves it, and then creates image previews of its pages.\n", + " Returns the path to the PDF and a list of paths to the preview images.\n", + " \"\"\"\n", + " if image is None or not text_content or not text_content.strip():\n", + " raise gr.Error(\"Cannot generate PDF. Image or text content is missing.\")\n", + "\n", + " # --- 1. Generate the PDF ---\n", + " temp_dir = tempfile.gettempdir()\n", + " pdf_filename = os.path.join(temp_dir, f\"output_{uuid.uuid4()}.pdf\")\n", + " doc = SimpleDocTemplate(\n", + " pdf_filename,\n", + " pagesize=A4,\n", + " rightMargin=inch, leftMargin=inch,\n", + " topMargin=inch, bottomMargin=inch\n", + " )\n", + " styles = getSampleStyleSheet()\n", + " style_normal = styles[\"Normal\"]\n", + " style_normal.fontSize = int(font_size)\n", + " style_normal.leading = int(font_size) * line_spacing\n", + " style_normal.alignment = {\"Left\": 0, \"Center\": 1, \"Right\": 2, \"Justified\": 4}[alignment]\n", + "\n", + " story = []\n", + "\n", + " img_buffer = BytesIO()\n", + " image.save(img_buffer, format='PNG')\n", + " img_buffer.seek(0)\n", + "\n", + " page_width, _ = A4\n", + " available_width = page_width - 2 * inch\n", + " image_widths = {\n", + " \"Small\": available_width * 0.3,\n", + " \"Medium\": available_width * 0.6,\n", + " \"Large\": available_width * 0.9,\n", + " }\n", + " img_width = image_widths[image_size]\n", + " # Create a ReportLab Image object, handling potential transparency\n", + " img = RLImage(img_buffer, width=img_width, height=image.height * (img_width / image.width))\n", + " story.append(img)\n", + " story.append(Spacer(1, 12))\n", + "\n", + " # Clean the text for PDF generation\n", + " cleaned_text = re.sub(r'#+\\s*', '', text_content).replace(\"*\", \"\")\n", + " text_paragraphs = cleaned_text.split('\\n')\n", + "\n", + " for para in text_paragraphs:\n", + " if para.strip():\n", + " story.append(Paragraph(para, style_normal))\n", + "\n", + " doc.build(story)\n", + "\n", + " # --- 2. Render PDF pages as images for preview ---\n", + " preview_images = []\n", + " try:\n", + " pdf_doc = fitz.open(pdf_filename)\n", + " for page_num in range(len(pdf_doc)):\n", + " page = pdf_doc.load_page(page_num)\n", + " pix = page.get_pixmap(dpi=150)\n", + " preview_img_path = os.path.join(temp_dir, f\"preview_{uuid.uuid4()}_p{page_num}.png\")\n", + " pix.save(preview_img_path)\n", + " preview_images.append(preview_img_path)\n", + " pdf_doc.close()\n", + " except Exception as e:\n", + " print(f\"Error generating PDF preview: {e}\")\n", + "\n", + " return pdf_filename, preview_images\n", + "\n", + "\n", + "# --- Core Application Logic (Updated for Qwen2.5-VL with Streaming) ---\n", + "@spaces.GPU\n", + "def process_document(\n", + " image: Image.Image,\n", + " prompt_input: str,\n", + " max_new_tokens: int,\n", + " temperature: float,\n", + " top_p: float,\n", + " top_k: int,\n", + " repetition_penalty: float\n", + "):\n", + " \"\"\"\n", + " Main function that handles model inference for the Qwen model with streaming.\n", + " This function is a generator, yielding text as it is generated.\n", + " \"\"\"\n", + " if image is None:\n", + " yield \"Please upload an image.\", \"Please upload an image.\"\n", + " return\n", + " if not prompt_input or not prompt_input.strip():\n", + " yield \"Please enter a prompt.\", \"Please enter a prompt.\"\n", + " return\n", + "\n", + " model_name = \"Gliese-OCR-7B-Post1.0\"\n", + " model = models[model_name]\n", + " processor = processors[model_name]\n", + "\n", + " messages = [\n", + " {\n", + " \"role\": \"user\",\n", + " \"content\": [\n", + " {\"type\": \"image\", \"image\": image},\n", + " {\"type\": \"text\", \"text\": prompt_input},\n", + " ],\n", + " }\n", + " ]\n", + "\n", + " text = processor.apply_chat_template(\n", + " messages, tokenize=False, add_generation_prompt=True\n", + " )\n", + " inputs = processor(\n", + " text=[text],\n", + " images=[image],\n", + " padding=True,\n", + " return_tensors=\"pt\",\n", + " ).to(\"cuda\")\n", + "\n", + " streamer = TextIteratorStreamer(\n", + " processor.tokenizer, skip_prompt=True, skip_special_tokens=True\n", + " )\n", + "\n", + " generation_kwargs = dict(\n", + " inputs,\n", + " streamer=streamer,\n", + " max_new_tokens=max_new_tokens,\n", + " temperature=temperature,\n", + " top_p=top_p,\n", + " top_k=top_k,\n", + " repetition_penalty=repetition_penalty,\n", + " do_sample=True if temperature > 0 else False,\n", + " )\n", + "\n", + " thread = Thread(target=model.generate, kwargs=generation_kwargs)\n", + " thread.start()\n", + "\n", + " buffer = \"\"\n", + " for new_text in streamer:\n", + " buffer += new_text\n", + " # Remove special tokens from the output stream\n", + " clean_buffer = buffer.replace(\"<|im_end|>\", \"\").replace(\"<|endoftext|>\", \"\")\n", + " yield clean_buffer, clean_buffer\n", + "\n", + "# --- Gradio UI Definition (Updated Title, otherwise unchanged) ---\n", + "def create_gradio_interface():\n", + " \"\"\"Builds and returns the Gradio web interface.\"\"\"\n", + " css = \"\"\"\n", + " .main-container { max-width: 1400px; margin: 0 auto; }\n", + " .process-button { border: none !important; color: white !important; font-weight: bold !important; background-color: blue !important;}\n", + " .process-button:hover { background-color: darkblue !important; transform: translateY(-2px) !important; box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important; }\n", + " #gallery { min-height: 400px; }\n", + " \"\"\"\n", + " with gr.Blocks(theme=\"bethecloud/storj_theme\", css=css) as demo:\n", + " gr.HTML(f\"\"\"\n", + "
\n", + "

Gliese-OCR-7B-Post1.0 📄

\n", + "

\n", + " Image Content Extraction and Markdown Rendering \n", + "

\n", + "
\n", + " \"\"\")\n", + "\n", + " with gr.Row():\n", + " # Left Column (Inputs)\n", + " with gr.Column(scale=1):\n", + " prompt_input = gr.Textbox(label=\"Query Input\", placeholder=\"✦︎ Enter the prompt.\", value=\"Precisely OCR the Image.\")\n", + " image_input = gr.Image(label=\"Upload Image\", type=\"pil\", sources=['upload'])\n", + "\n", + " with gr.Accordion(\"Advanced Settings\", open=False):\n", + " max_new_tokens = gr.Slider(minimum=64, maximum=2048, value=1024, step=32, label=\"Max New Tokens\")\n", + " temperature = gr.Slider(label=\"Temperature\", minimum=0.1, maximum=2.0, step=0.1, value=0.7)\n", + " top_p = gr.Slider(label=\"Top-p (nucleus sampling)\", minimum=0.05, maximum=1.0, step=0.05, value=0.9)\n", + " top_k = gr.Slider(label=\"Top-k\", minimum=1, maximum=100, step=1, value=50)\n", + " repetition_penalty = gr.Slider(label=\"Repetition penalty\", minimum=1.0, maximum=2.0, step=0.05, value=1.1)\n", + "\n", + " with gr.Accordion(\"PDF Export Settings\", open=False):\n", + " font_size = gr.Dropdown(choices=[\"8\", \"10\", \"12\", \"14\", \"16\", \"18\"], value=\"12\", label=\"Font Size\")\n", + " line_spacing = gr.Dropdown(choices=[1.0, 1.15, 1.5, 2.0], value=1.15, label=\"Line Spacing\")\n", + " alignment = gr.Dropdown(choices=[\"Left\", \"Center\", \"Right\", \"Justified\"], value=\"Justified\", label=\"Text Alignment\")\n", + " image_size = gr.Dropdown(choices=[\"Small\", \"Medium\", \"Large\"], value=\"Medium\", label=\"Image Size in PDF\")\n", + "\n", + " process_btn = gr.Button(\"🚀 Process Image\", variant=\"primary\", elem_classes=[\"process-button\"], size=\"lg\")\n", + " clear_btn = gr.Button(\"🗑️ Clear All\", variant=\"secondary\")\n", + "\n", + " # Right Column (Outputs)\n", + " with gr.Column(scale=2):\n", + " with gr.Tabs() as tabs:\n", + " with gr.Tab(\"📝 Extracted Content\"):\n", + " raw_output = gr.Textbox(label=\"Model Output\", interactive=False, lines=15, show_copy_button=True)\n", + "\n", + " gr.Markdown(\"[prithivMLmods🤗](https://huggingface.co/prithivMLmods)\")\n", + "\n", + " with gr.Tab(\"📰 Markdown Preview\"):\n", + " with gr.Accordion(\"(Result.md)\", open=True):\n", + " markdown_output = gr.Markdown()\n", + "\n", + " with gr.Tab(\"📋 PDF Preview\"):\n", + " generate_pdf_btn = gr.Button(\"📄 Generate PDF & Render\", variant=\"primary\")\n", + " pdf_output_file = gr.File(label=\"Download Generated PDF\", interactive=False)\n", + " pdf_preview_gallery = gr.Gallery(label=\"PDF Page Preview\", show_label=True, elem_id=\"gallery\", columns=2, object_fit=\"contain\", height=\"auto\")\n", + "\n", + " # Event Handlers\n", + " def clear_all_outputs():\n", + " return None, \"\", \"Model output will appear here.\", \"\", None, None\n", + "\n", + " # The .click() event will now stream the output from the generator function\n", + " process_btn.click(\n", + " fn=process_document,\n", + " inputs=[image_input, prompt_input, max_new_tokens, temperature, top_p, top_k, repetition_penalty],\n", + " outputs=[raw_output, markdown_output]\n", + " )\n", + "\n", + " generate_pdf_btn.click(\n", + " fn=generate_and_preview_pdf,\n", + " inputs=[image_input, raw_output, font_size, line_spacing, alignment, image_size],\n", + " outputs=[pdf_output_file, pdf_preview_gallery]\n", + " )\n", + "\n", + " clear_btn.click(\n", + " clear_all_outputs,\n", + " outputs=[image_input, prompt_input, raw_output, markdown_output, pdf_output_file, pdf_preview_gallery]\n", + " )\n", + " return demo\n", + "\n", + "if __name__ == \"__main__\":\n", + " demo = create_gradio_interface()\n", + " # Use queue() for better handling of multiple users and streaming\n", + " demo.queue(max_size=20).launch(share=True, show_error=True)" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "gpuType": "T4", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/Gliese-OCR-7B-Post1.0-(4bit)-notebook/Gliese_OCR_7B_Post1_0.ipynb b/Gliese-OCR-7B-Post1.0-(4bit)-notebook/Gliese_OCR_7B_Post1_0.ipynb new file mode 100644 index 0000000..ce9364f --- /dev/null +++ b/Gliese-OCR-7B-Post1.0-(4bit)-notebook/Gliese_OCR_7B_Post1_0.ipynb @@ -0,0 +1,399 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "ekEpkSW7ocND" + }, + "source": [ + "## **prithivMLmods/Gliese-OCR-7B-Post1.0(4bit)**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "uFovmijgUV1Z" + }, + "source": [ + "The [Gliese-OCR-7B-Post1.0](https://huggingface.co/prithivMLmods/Gliese-OCR-7B-Post1.0) model is a fine-tuned version of Camel-Doc-OCR-062825, optimized for Document Retrieval, Content Extraction, and Analysis Recognition. Built on top of the Qwen2.5-VL architecture, this model enhances document comprehension capabilities with focused training on the Opendoc2-Analysis-Recognition dataset for superior document analysis and information extraction tasks.\n", + "\n", + "> This model shows significant improvements in LaTeX rendering and Markdown rendering for OCR tasks.\n", + "\n", + "*multimodal model & notebook by : [prithivMLmods](https://huggingface.co/prithivMLmods)*" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RugX4SGZV-8O" + }, + "source": [ + "### **Installing all necessary packages**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "l-NtFtjSpuJQ" + }, + "outputs": [], + "source": [ + "%%capture\n", + "!pip install git+https://github.com/huggingface/transformers.git \\\n", + " git+https://github.com/huggingface/accelerate.git \\\n", + " git+https://github.com/huggingface/peft.git \\\n", + " transformers-stream-generator huggingface_hub albumentations \\\n", + " pyvips-binary qwen-vl-utils sentencepiece opencv-python docling-core \\\n", + " python-docx torchvision safetensors matplotlib num2words \\\n", + "\n", + "!pip install xformers requests pymupdf hf_xet spaces pyvips pillow gradio \\\n", + " einops torch fpdf timm av decord bitsandbytes reportlab\n", + "#Hold tight, this will take around 1-2 minutes." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "mvoSnRZcVBu4" + }, + "source": [ + "### **Run Gliese-OCR-7B-Post1.0(4bit) Demo**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "tElKr2Fkp1bO" + }, + "outputs": [], + "source": [ + "import gradio as gr\n", + "import spaces\n", + "from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor, TextIteratorStreamer, BitsAndBytesConfig\n", + "from qwen_vl_utils import process_vision_info\n", + "import torch\n", + "from PIL import Image\n", + "import os\n", + "import uuid\n", + "import io\n", + "from threading import Thread\n", + "from reportlab.lib.pagesizes import A4\n", + "from reportlab.lib.styles import getSampleStyleSheet\n", + "from reportlab.lib import colors\n", + "from reportlab.platypus import SimpleDocTemplate, Image as RLImage, Paragraph, Spacer\n", + "from reportlab.lib.units import inch\n", + "from reportlab.pdfbase import pdfmetrics\n", + "from reportlab.pdfbase.ttfonts import TTFont\n", + "import docx\n", + "from docx.enum.text import WD_ALIGN_PARAGRAPH\n", + "\n", + "# Define model options\n", + "MODEL_OPTIONS = {\n", + " \"Gliese-OCR-7B-Post1.0\": \"prithivMLmods/Gliese-OCR-7B-Post1.0\",\n", + "}\n", + "\n", + "# Define 4-bit quantization configuration\n", + "# This config will load the model in 4-bit to save VRAM.\n", + "# You can customize these settings as needed.\n", + "quantization_config = BitsAndBytesConfig(\n", + " load_in_4bit=True,\n", + " bnb_4bit_compute_dtype=torch.float16,\n", + " bnb_4bit_quant_type=\"nf4\",\n", + " bnb_4bit_use_double_quant=True,\n", + ")\n", + "\n", + "# Preload models and processors into CUDA\n", + "models = {}\n", + "processors = {}\n", + "for name, model_id in MODEL_OPTIONS.items():\n", + " print(f\"Loading {name}🤗. This will use 4-bit quantization to save VRAM.\")\n", + " models[name] = Qwen2_5_VLForConditionalGeneration.from_pretrained(\n", + " model_id,\n", + " trust_remote_code=True,\n", + " quantization_config=quantization_config,\n", + " device_map=\"auto\"\n", + " )\n", + " processors[name] = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)\n", + "\n", + "image_extensions = Image.registered_extensions()\n", + "\n", + "def identify_and_save_blob(blob_path):\n", + " \"\"\"Identifies if the blob is an image and saves it.\"\"\"\n", + " try:\n", + " with open(blob_path, 'rb') as file:\n", + " blob_content = file.read()\n", + " try:\n", + " Image.open(io.BytesIO(blob_content)).verify() # Check if it's a valid image\n", + " extension = \".png\" # Default to PNG for saving\n", + " media_type = \"image\"\n", + " except (IOError, SyntaxError):\n", + " raise ValueError(\"Unsupported media type. Please upload a valid image.\")\n", + "\n", + " filename = f\"temp_{uuid.uuid4()}_media{extension}\"\n", + " with open(filename, \"wb\") as f:\n", + " f.write(blob_content)\n", + "\n", + " return filename, media_type\n", + "\n", + " except FileNotFoundError:\n", + " raise ValueError(f\"The file {blob_path} was not found.\")\n", + " except Exception as e:\n", + " raise ValueError(f\"An error occurred while processing the file: {e}\")\n", + "\n", + "@spaces.GPU\n", + "def qwen_inference(model_name, media_input, text_input=None):\n", + " \"\"\"Handles inference for the selected model.\"\"\"\n", + " model = models[model_name]\n", + " processor = processors[model_name]\n", + "\n", + " if isinstance(media_input, str):\n", + " media_path = media_input\n", + " if media_path.endswith(tuple([i for i in image_extensions.keys()])):\n", + " media_type = \"image\"\n", + " else:\n", + " try:\n", + " media_path, media_type = identify_and_save_blob(media_input)\n", + " except Exception as e:\n", + " raise ValueError(\"Unsupported media type. Please upload a valid image.\")\n", + "\n", + " messages = [\n", + " {\n", + " \"role\": \"user\",\n", + " \"content\": [\n", + " {\n", + " \"type\": media_type,\n", + " media_type: media_path\n", + " },\n", + " {\"type\": \"text\", \"text\": text_input},\n", + " ],\n", + " }\n", + " ]\n", + "\n", + " text = processor.apply_chat_template(\n", + " messages, tokenize=False, add_generation_prompt=True\n", + " )\n", + " image_inputs, _ = process_vision_info(messages)\n", + " inputs = processor(\n", + " text=[text],\n", + " images=image_inputs,\n", + " padding=True,\n", + " return_tensors=\"pt\",\n", + " ).to(\"cuda\")\n", + "\n", + " streamer = TextIteratorStreamer(\n", + " processor.tokenizer, skip_prompt=True, skip_special_tokens=True\n", + " )\n", + " generation_kwargs = dict(inputs, streamer=streamer, max_new_tokens=1024)\n", + "\n", + " thread = Thread(target=model.generate, kwargs=generation_kwargs)\n", + " thread.start()\n", + "\n", + " buffer = \"\"\n", + " for new_text in streamer:\n", + " buffer += new_text\n", + " # Remove <|im_end|> or similar tokens from the output\n", + " buffer = buffer.replace(\"<|im_end|>\", \"\")\n", + " yield buffer\n", + "\n", + "def format_plain_text(output_text):\n", + " \"\"\"Formats the output text as plain text without LaTeX delimiters.\"\"\"\n", + " # Remove LaTeX delimiters and convert to plain text\n", + " plain_text = output_text.replace(\"\\\\(\", \"\").replace(\"\\\\)\", \"\").replace(\"\\\\[\", \"\").replace(\"\\\\]\", \"\")\n", + " return plain_text\n", + "\n", + "def generate_document(media_path, output_text, file_format, font_size, line_spacing, alignment, image_size):\n", + " \"\"\"Generates a document with the input image and plain text output.\"\"\"\n", + " plain_text = format_plain_text(output_text)\n", + " if file_format == \"pdf\":\n", + " return generate_pdf(media_path, plain_text, font_size, line_spacing, alignment, image_size)\n", + " elif file_format == \"docx\":\n", + " return generate_docx(media_path, plain_text, font_size, line_spacing, alignment, image_size)\n", + "\n", + "def generate_pdf(media_path, plain_text, font_size, line_spacing, alignment, image_size):\n", + " \"\"\"Generates a PDF document.\"\"\"\n", + " filename = f\"output_{uuid.uuid4()}.pdf\"\n", + " doc = SimpleDocTemplate(\n", + " filename,\n", + " pagesize=A4,\n", + " rightMargin=inch,\n", + " leftMargin=inch,\n", + " topMargin=inch,\n", + " bottomMargin=inch\n", + " )\n", + " styles = getSampleStyleSheet()\n", + " styles[\"Normal\"].fontSize = int(font_size)\n", + " styles[\"Normal\"].leading = int(font_size) * line_spacing\n", + " styles[\"Normal\"].alignment = {\n", + " \"Left\": 0,\n", + " \"Center\": 1,\n", + " \"Right\": 2,\n", + " \"Justified\": 4\n", + " }[alignment]\n", + "\n", + " story = []\n", + "\n", + " # Add image with size adjustment\n", + " image_sizes = {\n", + " \"Small\": (200, 200),\n", + " \"Medium\": (400, 400),\n", + " \"Large\": (600, 600)\n", + " }\n", + " img = RLImage(media_path, width=image_sizes[image_size][0], height=image_sizes[image_size][1])\n", + " story.append(img)\n", + " story.append(Spacer(1, 12))\n", + "\n", + " # Add plain text output\n", + " text = Paragraph(plain_text, styles[\"Normal\"])\n", + " story.append(text)\n", + "\n", + " doc.build(story)\n", + " return filename\n", + "\n", + "def generate_docx(media_path, plain_text, font_size, line_spacing, alignment, image_size):\n", + " \"\"\"Generates a DOCX document.\"\"\"\n", + " filename = f\"output_{uuid.uuid4()}.docx\"\n", + " doc = docx.Document()\n", + "\n", + " # Add image with size adjustment\n", + " image_sizes = {\n", + " \"Small\": docx.shared.Inches(2),\n", + " \"Medium\": docx.shared.Inches(4),\n", + " \"Large\": docx.shared.Inches(6)\n", + " }\n", + " doc.add_picture(media_path, width=image_sizes[image_size])\n", + " doc.add_paragraph()\n", + "\n", + " # Add plain text output\n", + " paragraph = doc.add_paragraph()\n", + " paragraph.paragraph_format.line_spacing = line_spacing\n", + " paragraph.paragraph_format.alignment = {\n", + " \"Left\": WD_ALIGN_PARAGRAPH.LEFT,\n", + " \"Center\": WD_ALIGN_PARAGRAPH.CENTER,\n", + " \"Right\": WD_ALIGN_PARAGRAPH.RIGHT,\n", + " \"Justified\": WD_ALIGN_PARAGRAPH.JUSTIFY\n", + " }[alignment]\n", + " run = paragraph.add_run(plain_text)\n", + " run.font.size = docx.shared.Pt(int(font_size))\n", + "\n", + " doc.save(filename)\n", + " return filename\n", + "\n", + "# CSS for output styling\n", + "css = \"\"\"\n", + " #output {\n", + " height: 500px;\n", + " overflow: auto;\n", + " border: 1px solid #ccc;\n", + " }\n", + ".submit-btn {\n", + " background-color: #cf3434 !important;\n", + " color: white !important;\n", + "}\n", + ".submit-btn:hover {\n", + " background-color: #ff2323 !important;\n", + "}\n", + ".download-btn {\n", + " background-color: #35a6d6 !important;\n", + " color: white !important;\n", + "}\n", + ".download-btn:hover {\n", + " background-color: #22bcff !important;\n", + "}\n", + "\"\"\"\n", + "\n", + "# Gradio app setup\n", + "with gr.Blocks(css=css, theme=\"bethecloud/storj_theme\") as demo:\n", + " gr.Markdown(\"# **Gliese-OCR-7B-Post1.0(4-bit)**\")\n", + "\n", + " with gr.Tab(label=\"Image Input\"):\n", + "\n", + " with gr.Row():\n", + " with gr.Column():\n", + " model_choice = gr.Dropdown(\n", + " label=\"Model Selection\",\n", + " choices=list(MODEL_OPTIONS.keys()),\n", + " value=\"Gliese-OCR-7B-Post1.0\"\n", + " )\n", + " input_media = gr.File(\n", + " label=\"Upload Image\", type=\"filepath\"\n", + " )\n", + " text_input = gr.Textbox(label=\"Question\", value=\"Perform OCR on the image precisely\")\n", + " submit_btn = gr.Button(value=\"Submit\", elem_classes=\"submit-btn\")\n", + "\n", + " with gr.Column():\n", + " output_text = gr.Textbox(label=\"Output Text\", lines=7)\n", + "\n", + " with gr.Accordion(\"Plain Text\", open=False):\n", + " plain_text_output = gr.Textbox(label=\"Standardized Plain Text\", lines=10)\n", + "\n", + " submit_btn.click(\n", + " qwen_inference, [model_choice, input_media, text_input], [output_text]\n", + " ).then(\n", + " lambda output_text: format_plain_text(output_text), [output_text], [plain_text_output]\n", + " )\n", + "\n", + " with gr.Accordion(\"Docx/PDF Settings\", open=False):\n", + " with gr.Row():\n", + " with gr.Column():\n", + " line_spacing = gr.Dropdown(\n", + " choices=[0.5, 1.0, 1.15, 1.5, 2.0, 2.5, 3.0],\n", + " value=1.5,\n", + " label=\"Line Spacing\"\n", + " )\n", + " font_size = gr.Dropdown(\n", + " choices=[\"8\", \"10\", \"12\", \"14\", \"16\", \"18\", \"20\", \"22\", \"24\"],\n", + " value=\"16\",\n", + " label=\"Font Size\"\n", + " )\n", + " alignment = gr.Dropdown(\n", + " choices=[\"Left\", \"Center\", \"Right\", \"Justified\"],\n", + " value=\"Justified\",\n", + " label=\"Text Alignment\"\n", + " )\n", + " image_size = gr.Dropdown(\n", + " choices=[\"Small\", \"Medium\", \"Large\"],\n", + " value=\"Medium\",\n", + " label=\"Image Size\"\n", + " )\n", + " file_format = gr.Radio([\"pdf\", \"docx\"], label=\"File Format\", value=\"pdf\")\n", + "\n", + " get_document_btn = gr.Button(value=\"Get Document\", elem_classes=\"download-btn\")\n", + "\n", + " get_document_btn.click(\n", + " generate_document, [input_media, output_text, file_format, font_size, line_spacing, alignment, image_size], gr.File(label=\"Download Document\")\n", + " )\n", + "\n", + "demo.launch(debug=True)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### **Demo Inference**\n", + "\n", + "![Screenshot 2025-09-13 at 14-55-02 Gradio.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABoMAAAMNCAYAAABTeg0QAAAgAElEQVR4XuzdB5w0RYE/7kIUXsJLlBwUeAGJghLUQ8yiKIeAIqCeGM6cUVTwTKeIAfMBYgAVBFFRzoRiOkQlCUhQgRdUBAERJEfB/9b46/3Pznaent7p2Wfv4+f03Z7uqqdqerv621W9xHIrrvXP4IcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGDiBG6/+ZollhAGTVy7qhABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCcgDNIRCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITLCAMmuDGVTUCBAgQIECAAAECBAgQIECAAAECBAgQIECAgDBIHyBAgAABAgQIECBAgAABAgQIECBAgAABAgQITLCAMGiCG1fVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLCIH2AAAECBAgQIECAAAECBAgQIECAAAECBAgQIDDBAsKgCW5cVSNAgAABAgQIECBAgAABAgQIECBAgAABAgQICIP0AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDABAsIgya4cVWNAAECBAgQIECAAAECBAgQIECAAAECBAgQICAM0gcIECBAgAABAgQIECBAgAABAgQIECBAgAABAhMsIAya4MZVNQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAMEgfIECAAAECBAgQIECAAAECBAgQIECAAAECBAhMsIAwaIIbV9UIECBAgAABAgQIECBAgAABAgQIECBAgAABAsIgfYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMMECwqAJblxVI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgIg/QBAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAECwiDJrhxVY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIAzSBwgQIECAAAECBAgQIECAAAECBAgQIECAAAECEywgDJrgxlU1AgQIECBAgAABAgQIECBAgAABAgQIECBAgIAwSB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECEywgDBoghtX1QgQIECAAAECBAgQIECAAAECBAgQIECAAAECwiB9gAABAgQIECBAgAABAgQIECBAgAABAgQIECAwwQLCoAluXFUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAiD9AECBAgQIECAAAECBAgQIECAAAECBAgQIECAwAQLCIMmuHFVjQABAgQIECBAgAABAgQIECBAgAABAgQIECAgDNIHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITLCAMmuDGVTUCBAgQIECAAAECBAgQIECAAAECBAgQIECAgDBIHyBAgAABAgQIECBAgAABAgQIECBAgAABAgQITLCAMGiCG1fVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLCIH2AAAECBAgQIECAAAECBAgQIECAAAECBAgQIDDBAsKgCW5cVSNAgAABAgQIECBAgAABAgQIECBAgAABAgQICIP0AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDABAsIgya4cVWNAAECBAgQIECAAAECBAgQIECAAAECBAgQICAMargPPO95+4S9n71HWHXVVcINN9wYfnDqj8Phhx/V8FHsjgABAgQIECDQrsAnP/7h8IhHbNM76Lnnnh+O+eKx4dzzftNuIRyNAAECBAgQIECAAAECBAgQqCUgDMpge9WrXha223bbWb998X++MhP6oLcdEF732lfN+v0XjvlyOOjgd9dqIB8iQIAAAQIEsgUese3Dw2te9YpZG5z4jZPCKaecOlF0h7z/3WHN1deYUadr/3pdK9cY5559elh77bVmHPsvf7kmvPRlrx5pIBQDqOWXW37GcX/8s/8Lxx13wkS1rcoQIECAAAECBAgQIECAAIFRCwiDMoS/8Nkjwq67PnXWb9dcZ6PMNvntReeEVVZeedbv77zzzrDBoi1H3Zb2T4AAAQIE5p3ACV85Ojz+cTvPqPeNf/972HzL7SbO4vTTTg2LNtpwRr0WX35F2Gnnp4y0rjGEevH+L0g9xolfOym87g1vGdnx067HYvs+/wUvGWkINbIK2TEBAgQIECBAgAABAgQIEJgjgU6GQcmsnU02XdRj678xEoOXq6eeVI1LtP3pT1eGM8/+da2nR+uEQddefXlmM773/R+0XNwcdfImDxufQH/21DKAG27wkLDuuuuGVVZZeUYAGG/K3TXVB6+88urQ5pPLReWKT2/fMVWuSy9ZHBZfvjgccuhhlVjSnkYvu4P41PpVV/8lnPGrM+fkxl3WLL+y5S+zXdaMwXgeGfYnttdN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oKZF7Y8AAQIECBAgQIAAAQIE5qOAMGg+tro6EyBAgACBCREwO2hCGjKjGmYFTXb7qh0BAgQIECBAgAABAgQItCcgDGrP2pEIECBAgACBhgWe9rSnhHccdOCsvb7vkA9ZQqxh67nY3cnf/GpYddVVZhz63HPPD697w1vmojiOSYAAAQIECBAgQIAAAQIEOisgDOps0yk4AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBYQBhUbGQLAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBnBYRBnW06BSdAgAABAgQIECBAgAABAgQIECBAgAABAgQIFAsIg4qNbEGAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6KyAMKizTafgBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFiAWFQsZEtCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKdFRAGdbbpFJwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCwgDCo2sgUBAgQIECBAgAABAgQIECBAgAABAgQIECBAoLMCwqDONp2CEyBAgAABAgQIECBAgAABAgQIECBAgAABAgSKBYRBxUa2IECAAAECBAgQIECAAAECBAgQIECAAAECBAh0VkAY1NmmU3ACBAgQIECAAAECBAgQIECAAAECBAgQIECAQLGAMKjYyBYECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgc4KCIM623QKToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFhAGFRvZggABAgQIECBAgAABAgQIECBAgAABAgQIECDQWQFhUGebTsEJECBAgAABAgQIECBAgAABAgQIECBAgAABAsUCwqBiI1sQIECAAAECBAgQIECAAAECBAgQIECAAAECBDorIAzqbNMpOAECBAgQIECAAAECBAgQIECAAAECBAgQIECgWEAYVGxkCwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAZwWEQZ1tOgUnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQLCIOKjWxBgAABAgQIECBAgAABAgQIECBAgAABAgQIEOisgDCos02n4AQIECBAgAABAgQIECBAgAABAgQIECBAgACBYgFhULGRLQgQIECAAAECBAgQIECAAAECBAgQIECAAAECnRUQBnW26RScAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAsIAwqNrIFAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCzAsKgzjadghMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEigWEQcVGtiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIdFZAGNTZplNwAgQIECBAgAABAgQIECBAgAABAgQIECBAgECxgDCo2MgWBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHOCgiDOtt0Ck6AAAECBAgQIECAAAECBAgQIECAAAECBAgQKBYQBhUb2YIAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0FkBYVBnm07BCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLFAsKgYiNbECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ6KyAM6mzTKTgBAgQIECBAgAABAgQIECBAgAABAgQIECBAoFhAGFRsZAsCBAgQIECAAAECBAgQIECAAAECBAgQIECAQGcFhEGdbToFJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgUCwiDio1sQYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDorIAwqLNNp+AECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgWIBYVCxkS0IECBAgAABAgQIECBAgAABAgQIECBAgAABAp0VEAZ1tukUnAABAgQIECBAgAABAgQIECBAgAABAgQIECBQLDDvwqAHLrNqWHadR4b77vx7uP3qs4uFbFFbgHVtOh8kQIAAAQIECBAgQIAAAQIECBAgQIAAAQKNCcy7MGiFRU8NG+5+RLjjuovCpcfu3hikHc0WYK1XECBAgAABAgQIECBAgAABAgQIECBAgACBuRcQBs19G0xsCeZjGLTJ808Od96wOPz5+wdMbLuqGAECBAgQIECAAAECBAgQIECAAAECBAh0S0AY1K326lRp52MYtM0Bl5t11qleqrAECBAgQIAAAQIECBAgQIAAAQIECBCYfAFh0OS38ZzVUBg0Z/QOTIAAAQIECBAgQIAAAQIECBAgQIAAAQIEpgWEQQOdYXCZr9W2e2lYYcMnhiWXWq63ZVwC7ObLfhBuWfzDGZ9cZcu9w4obPTk8aOEavX+/757bwy1X/CRcf87nCrtb/Oxy6+0Ylll10fS2WcdJ29nSqywK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AAECBAgQGBAQBukSBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEJFhAGTXDjqhoBAgQIECBAgAABAgQIECBAgAABAgQIECBAQBikDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJlhAGDTBjatqBAgQIECAAAECBAgQIECAAAECBAgQIECAAAFhkD5AgAABAgQIECBAgAABAgQIECBAgAABAgQIEJhgAWHQBDeuqhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEhEH6AAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgggXmPAza5oDLJ5hX1QjMjcD5h200Nwd2VAIECBAgQIAAAQIECBAgQIAAAQIECBAYOwFh0Ng1iQIRGF7gHz993vA7sQcCBAgQIECAAAECBAgQIECAAAECBAiMmcBF554xZiXqRnGEQd1oJ6UkUElAGFSJy8YECBAgQIAAAQIECBAgQIAAAQIECHREQBhUr6HmPAyqV2yfIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQKCMgDCqjZBsCBAgQIECAAAECBAgQIECAAAECBAgQIECAQEcFhEEdbTjFJkCAAAECBAgQIECAAAECBAgQIECAAAECBAiUERAGlVGyDQECBAgQIECAAAECBAgQIECAAAECBAgQIECgowLCoI42nGITIECAAAECBAgQIECAAAECBAgQIECAAAECBMoICIPKKNmGAAECBAgQIECAAAECBAgQIECAAAECBAgQINBRAWFQRxtOsQkQIECAAAECBAgQIECAAAECBAgQIECAAAECZQSEQWWUbEOAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6KiAMKijDafYBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEyAsKgMkq2IUCAAAECBAgQIECAAAECBAgQIECAAAECBAh0VEAY1NGGU2wCBAgQIECAAAECBAgQIECAAAECBAgQIECAQBkBYVAZJdsQIECAAAECBAgQIECAAAECBAgQIECAAAECBDoqIAzqaMMpNgECBAgQIECAAAECBAgQIECAAAECBAgQIECgjIAwqIySbQgQIECAAAECBAgQIECAAAECBAgQIECAAAECHRUQBnW04RSbAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBGQBhURsk2BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGOCgiDOtpwik2AAAECBAgQIECAAAECBAgQIECAAAECBAgQKCMgDCqjZBsCBAgQIECAAAECBAgQIECAAAECBAgQIECAQEcFhEEdbTjFJkCAAAECBAgQIECAAAECBAgQIECAAAECBAiUERAGlVGyDQECBAgQIECAAAECBAgQIECAAAECBAgQIECgowLCoI42nGITIECAAAECBAgQIECAAAECBAgQIECAAAECBMoICIPKKNmGAAECBAgQIECAAAECBAgQIECAAAECBAgQINBRAWFQRxtOsQkQIECAAAECl2f+HQAAIABJREFUBAgQIECAAAECBAgQIECAAAECZQSEQWWUbEOAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6KiAMKijDafYBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEyAsKgMkq2IUCAAAECBAgQIECAAAECBAgQIECAAAECBAh0VEAY1NGGU2wCBAgQIECAAAECBAgQIECAAAECBAgQIECAQBkBYVAZJdsQIECAAAECBAgQIECAAAECBAgQIECAAAECBDoqIAzqaMMpNgECBAgQIECAAAECBAgQIECAAAECBAgQIECgjIAwqIySbQgQIECAAAECBAgQIECAAAECBAgQIECAAAECHRUQBnW04RSbAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBGQBhURsk2BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGOCgiDOtpwik2AAAECBAgQIECAAAECBAgQIECAAAECBAgQKCMgDCqjZBsCBAgQIECAAAECBAgQIECAAAECBAgQIECAQEcFhEEdbTjFJkCAAAECBAgQIECAAAECBAgQIECAAAECBAiUERAGlVGyDQECBAgQIECAAAECBAgQIECAAAECBAgQIECgowLCoI42nGITIECAAAECBAgQIECAAAECBAgQIECAAAECBMoICIPKKNmGAAECBAgQIECAAAECBAgQIECAAAECBAgQINBRAWFQRxtOsQkQIECAAAECBAgQIECAAAECBAgQIECAAAECZQSEQWWUbEOAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6KiAMKijDafYBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEyAsKgMkq2IUCAAAECBAgQIECAAAECBAgQIECAAAECBAh0VEAY1NGGU2wCBAgQIECAAAECBAgQIECAAAECBAgQIECAQBkBYVAZJdsQIECAAAECBAgQIECAAAECBAgQIECAAAECBDoqIAzqaMMpNgECBAgQIECAAAECBAgQIECAAAECBAgQIECgjIAwqIySbQgQIECAAAECBAgQIECAAAECBAgQIECAAAECHRUQBnW04RSbAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBGQBhURsk2BAgQIECAAAECBAgQIECAAAECBAgQIECAAIGOCgiDOtpwik2AAAECBAgQIECAAAECBAgQIECAAAECBAgQKCMwr8KghSuuHFZ58BphmeWWDw94wAPCEkss0fuPHwIECBAgQIAAAQIEygn885//DPH/7r/v/nDn7beGG66/Ltx2y03lPjzHWxkPzHEDODwBAgQIECBAgEDnBbo8Hug8/pAVmBdh0AorrRLWWX/DMJX8hLvuuivcffed4b777pv6z/1TfP8cktDHCRAgQIAAAQIECMwngSXCkks+YOo/S4alFywTFiy9IMQB4dVXXhFuvenGsYQwHhjLZlEoAgQIECBAgACBTgp0bzzQSeYRFHqiw6AlH/igsMEmm4cHLvnAcNvtt00FQXeOgNAuCRAgQIAAAQIECMxvgQULlg3LL78w3HvPXeFPl18S/nHvPWMBYjwwFs2gEAQIECBAgAABAhMuMK7jgQlnr1y9iQ2Dlpp6SnHRpluEu+6+J9zSkWUrKreeDxAgQIAAAQIECBAYI4EVV1wpLLXUUmHx7y8K995915yWzHhgTvkdnAABAgQIECBAYB4KjNN4YB7yF1Z5YsOgh229Xbjjjjum/nNbIYINCBAgQIAAAQIECBAYXiAuF7f8woVhmWWWDb//zTnD73CIPRgPDIHnowQIECBAgAABAgRqCIzTeKBG8Sf+IxMZBm20+dZhiX8uEW66+e8T34AqSIAAAQIECBAgQGDcBFZcYaWpN3PeH66YmiE0Fz/GA3Oh7pgECBAgQIAAAQIE/iUw1+MB7ZAuMHFh0IorrxLWWOeh4cYbb5iq8T+1OwECBAgQIECAAAECrQssEVZeZdVwzZ+vCLfdfFOrRzceaJXbwQgQIECAAAECBAikCMzdeEBzZAtMXBi02dTycLfcdku4+665XaNcpyNAgAABAgQIECAwnwWWXrAg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QIAAAQIECBAgQIAAAQIECJQWEAaZGQQIECBAgAABAgQIECBAgAABAgQIECBAgACBhAWEQQkX19AIECBAgAABAgQIECBAgAABAgQIECBAgAABAsIgc4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkLCAMCjh4hoaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAYZA4QIECAAAECBAgQIECAAAECBAgQIECAAAECBBIWEAYlXFxDI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgIg8wBAgQIECBAgAABAgQIECBAgAABAgQIECBAgEDCAsKghItraAQIECBAgAABAgQIECBAgAABAgQIECBAgAABYZA5QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBIWEAYlHBxDY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIAwyBwgQIECAAAECBAgQIECAAAECBAgQIECAAAECCQsIgxIurqERIECAAAECBAgQIECAAAECBAgQIECAAAECBIRB5gABAgQIECBAgAABAgQIECBAgAABAgQIECBAIGEBYVDCxTU0AgQIECBAgAABAgQIECBAgAABAgQIECBAgIAwyBwgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCQsIAxKuLiGRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQBpkDBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGEBYRBCRfX0AgQIECAAAECBAgQIECAAAECBAgQIECAAAECwiBzgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQsIAwKOHiGhoBAgQIECBAgAABAgQIECBAgAABAgQIECBAQBhkDhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEEhYQBiVcXEMjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAiDzAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQMICwqCEi2toBAgQIECAAAECBAgQIECAAAECBAgQIECAAAFhkDlAgAABAgQIECBAgAABAgQIECBAgAABAgQIEEhYoK3CoPO6u+IdvT1x2fx5sWJuZyzt7IwFnXMSLq+hESBAgAABAgQIEKitwMGxY7F7bCwGj4zFTw+Oxg8PHIoXCn/vQ4AAAQIECBAgQIAAAQKtK9AWYdDa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QIAAAQLtI5BUGPS+/t74sxUD7VM9IyVAgAABAgQIECDQ4gJf3LknvrPvYIv3UvcIECBAgAABAgQIECCQtkBSYdCquV3x4Lkr066Y0REgQIAAAQIECBDIkcB121+JV48ey1GPdZUAAQIECBAgQIAAAQLpCSQVBmXlsVVcepPUiAgQIECAAAECBPIpYIu4fNZNrwkQIECAAAECBAgQSE8guTDo/O6u+OYqq4PSm6pGRIAAAQIECBAgkDeB63fsjG2Hj+at2/pLgAABAgQIECBAgACB5ASSC4OyCn16eX/84UBfcsUyIAIECBAgQIAAAQJ5Efi7vcPxF68N5aW7+kmAAAECBAgQIECAAIGkBZIMgzoLJfvKmcviLQvmJV08gyNAgAABAgQIECDQigJPHxyNT760K8ZasXP6RIAAAQIECBAgQIAAgTYUSDIMyuo4MKcjvnDG0lg3XyDUhvPakAkQIECAAAECBJok8MuRw3FLIQjae+x4k3rgsQQIECBAgAABAgQIECAwWSDZMKg40E8Vtoz7V7aMM/MJECBAgAABAgQI1F3gb1/fH3+1e1/dn+MBBAgQIECAAAECBAgQIDAzgeTDoIzj/O6u+OTyAdvGzWxuuJoAAQIECBAgQIBAVQI/PzQadw3ujW2Hj1Z1vYsIECBAgAABAgQIECBAoLECbREGFUnPndsZ/6x3fry1cJbQisLfL+3sjAWdcxor7mkECBAgQIAAAQIEcixwcOxY7B4bi8EjY/FkIQR67MCIECjH9dR1AgQIECBAgAABAgTaQ6CtwqD2KKlREiBAgAABAgQIECBAgAABAgQIECBAgAABAgR+JyAMMhsIECBAgAABAgQIECBAgAABAgQIECBAgAABAgkLCIMSLq6hESBAgAABAgQIECBAgAABAgQIECBAgAABAgSEQeYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCBhAWFQwsU1NAIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAMMgcIECAAAECBAgQIECAAAECBAgQIECAAAECBAgkLCAMSri4hkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQEAaZAwQIECBAgAABAgQIECBAgAABAgQIECBAgACBhAWEQQkX19AIECBAgAABAgQIECBAgAABAgQIECBAgAABAsIgc4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkLCAMCjh4hoaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCALg/4/olbYHaUIqusAAAAASUVORK5CYII=)" + ], + "metadata": { + "id": "SSpyGX-DZJS-" + } + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "gpuType": "T4", + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0d09310 --- /dev/null +++ b/README.md @@ -0,0 +1,120 @@ +--- +license: apache-2.0 +pipeline_tag: image-text-to-text +language: +- en +- zh +base_model: +- prithivMLmods/Camel-Doc-OCR-062825 +library_name: transformers +tags: +- Document +- VLM +- OCR +- VL +- Camel +- Openpdf +- text-generation-inference +- Extraction +- Linking +- Markdown +- Document Digitization +- Intelligent Document Processing (IDP) +- Intelligent Word Recognition (IWR) +- Optical Mark Recognition (OMR) +--- + +![1.png](https://cdn-uploads.huggingface.co/production/uploads/65bb837dbfb878f46c77de4c/GNsuO5cpxz73RW7xlrYCU.png) + +# **Gliese-OCR-7B-Post1.0** + +> The **Gliese-OCR-7B-Post1.0** model is a fine-tuned version of **[Camel-Doc-OCR-062825](https://huggingface.co/prithivMLmods/Camel-Doc-OCR-062825)**, optimized for **Document Retrieval**, **Content Extraction**, and **Analysis Recognition**. Built on top of the Qwen2.5-VL architecture, this model enhances document comprehension capabilities with focused training on the Opendoc2-Analysis-Recognition dataset for superior document analysis and information extraction tasks. + +> [!note] +This model shows significant improvements in [LaTeX rendering and Markdown rendering for OCR tasks](https://huggingface.co/prithivMLmods/Gliese-OCR-7B-Post1.0/blob/main/Gliese-OCR-7B-Post1.0(4-bit)-reportlab/Gliese_OCR_7B_Post1_0(4_bit)_reportlab.ipynb). + +# Key Enhancements + +* **Context-Aware Multimodal Extraction and Linking for Documents**: Advanced capability for understanding document context and establishing connections between multimodal elements within documents. + +* **Enhanced Document Retrieval**: Designed to efficiently locate and extract relevant information from complex document structures and layouts. + +* **Superior Content Extraction**: Optimized for precise extraction of structured and unstructured content from diverse document formats. + +* **Analysis Recognition**: Specialized in recognizing and interpreting analytical content, charts, tables, and visual data representations. + +* **State-of-the-Art Performance Across Resolutions**: Achieves competitive results on OCR and visual QA benchmarks such as DocVQA, MathVista, RealWorldQA, and MTVQA. + +* **Video Understanding up to 20+ minutes**: Supports detailed comprehension of long-duration videos for content summarization, Q\&A, and multi-modal reasoning. + +* **Visually-Grounded Device Interaction**: Enables mobile/robotic device operation via visual inputs and text-based instructions using contextual understanding and decision-making logic. + +# Quick Start with Transformers + +```python +from transformers import Qwen2_5_VLForConditionalGeneration, AutoTokenizer, AutoProcessor +from qwen_vl_utils import process_vision_info + +model = Qwen2_5_VLForConditionalGeneration.from_pretrained( + "prithivMLmods/Gliese-OCR-7B-Post1.0", torch_dtype="auto", device_map="auto" +) + +processor = AutoProcessor.from_pretrained("prithivMLmods/Gliese-OCR-7B-Post1.0") + +messages = [ + { + "role": "user", + "content": [ + { + "type": "image", + "image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg", + }, + {"type": "text", "text": "Describe this image."}, + ], + } +] + +text = processor.apply_chat_template( + messages, tokenize=False, add_generation_prompt=True +) +image_inputs, video_inputs = process_vision_info(messages) +inputs = processor( + text=[text], + images=image_inputs, + videos=video_inputs, + padding=True, + return_tensors="pt", +) +inputs = inputs.to("cuda") + +generated_ids = model.generate(**inputs, max_new_tokens=128) +generated_ids_trimmed = [ + out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids) +] +output_text = processor.batch_decode( + generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False +) +print(output_text) +``` + +# Intended Use + +This model is intended for: + +* Context-aware multimodal extraction and linking for complex document structures. +* High-fidelity document retrieval and content extraction from various document formats. +* Analysis recognition of charts, graphs, tables, and visual data representations. +* Document-based question answering for educational and enterprise applications. +* Extraction and LaTeX formatting of mathematical expressions from printed or handwritten content. +* Retrieval and summarization from long documents, slides, and multi-modal inputs. +* Multilingual document analysis and structured content extraction for global use cases. +* Robotic or mobile automation with vision-guided contextual interaction. + +# Limitations + +* May show degraded performance on extremely low-quality or occluded images. +* Not optimized for real-time applications on low-resource or edge devices due to computational demands. +* Variable accuracy on uncommon or low-resource languages/scripts. +* Long video processing may require substantial memory and is not optimized for streaming applications. +* Visual token settings affect performance; suboptimal configurations can impact results. +* In rare cases, outputs may contain hallucinated or contextually misaligned information. \ No newline at end of file diff --git a/added_tokens.json b/added_tokens.json new file mode 100644 index 0000000..482ced4 --- /dev/null +++ b/added_tokens.json @@ -0,0 +1,24 @@ +{ + "": 151658, + "": 151657, + "<|box_end|>": 151649, + "<|box_start|>": 151648, + "<|endoftext|>": 151643, + "<|file_sep|>": 151664, + "<|fim_middle|>": 151660, + "<|fim_pad|>": 151662, + "<|fim_prefix|>": 151659, + "<|fim_suffix|>": 151661, + "<|im_end|>": 151645, + "<|im_start|>": 151644, + "<|image_pad|>": 151655, + "<|object_ref_end|>": 151647, + "<|object_ref_start|>": 151646, + "<|quad_end|>": 151651, + "<|quad_start|>": 151650, + "<|repo_name|>": 151663, + "<|video_pad|>": 151656, + "<|vision_end|>": 151653, + "<|vision_pad|>": 151654, + "<|vision_start|>": 151652 +} diff --git a/chat_template.jinja b/chat_template.jinja new file mode 100644 index 0000000..6c22663 --- /dev/null +++ b/chat_template.jinja @@ -0,0 +1,7 @@ +{% set image_count = namespace(value=0) %}{% set video_count = namespace(value=0) %}{% for message in messages %}{% if loop.first and message['role'] != 'system' %}<|im_start|>system +You are a helpful assistant.<|im_end|> +{% endif %}<|im_start|>{{ message['role'] }} +{% if message['content'] is string %}{{ message['content'] }}<|im_end|> +{% else %}{% for content in message['content'] %}{% if content['type'] == 'image' or 'image' in content or 'image_url' in content %}{% set image_count.value = image_count.value + 1 %}{% if add_vision_id %}Picture {{ image_count.value }}: {% endif %}<|vision_start|><|image_pad|><|vision_end|>{% elif content['type'] == 'video' or 'video' in content %}{% set video_count.value = video_count.value + 1 %}{% if add_vision_id %}Video {{ video_count.value }}: {% endif %}<|vision_start|><|video_pad|><|vision_end|>{% elif 'text' in content %}{{ content['text'] }}{% endif %}{% endfor %}<|im_end|> +{% endif %}{% endfor %}{% if add_generation_prompt %}<|im_start|>assistant +{% endif %} \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..9e25b43 --- /dev/null +++ b/config.json @@ -0,0 +1,136 @@ +{ + "architectures": [ + "Qwen2_5_VLForConditionalGeneration" + ], + "attention_dropout": 0.0, + "bos_token_id": 151643, + "eos_token_id": 151645, + "hidden_act": "silu", + "hidden_size": 3584, + "image_token_id": 151655, + "initializer_range": 0.02, + "intermediate_size": 18944, + "max_position_embeddings": 128000, + "max_window_layers": 28, + "model_type": "qwen2_5_vl", + "num_attention_heads": 28, + "num_hidden_layers": 28, + "num_key_value_heads": 4, + "pad_token_id": 151643, + "rms_norm_eps": 1e-06, + "rope_scaling": { + "mrope_section": [ + 16, + 24, + 24 + ], + "rope_type": "default", + "type": "default" + }, + "rope_theta": 1000000.0, + "sliding_window": 32768, + "text_config": { + "architectures": [ + "Qwen2_5_VLForConditionalGeneration" + ], + "attention_dropout": 0.0, + "bos_token_id": 151643, + "eos_token_id": 151645, + "hidden_act": "silu", + "hidden_size": 3584, + "image_token_id": null, + "initializer_range": 0.02, + "intermediate_size": 18944, + "layer_types": [ + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention" + ], + "max_position_embeddings": 128000, + "max_window_layers": 28, + "model_type": "qwen2_5_vl_text", + "num_attention_heads": 28, + "num_hidden_layers": 28, + "num_key_value_heads": 4, + "rms_norm_eps": 1e-06, + "rope_scaling": { + "mrope_section": [ + 16, + 24, + 24 + ], + "rope_type": "default", + "type": "default" + }, + "rope_theta": 1000000.0, + "sliding_window": null, + "torch_dtype": "bfloat16", + "use_cache": true, + "use_sliding_window": false, + "video_token_id": null, + "vision_end_token_id": 151653, + "vision_start_token_id": 151652, + "vision_token_id": 151654, + "vocab_size": 152064 + }, + "tie_word_embeddings": false, + "torch_dtype": "bfloat16", + "transformers_version": "4.57.0.dev0", + "use_cache": true, + "use_sliding_window": false, + "video_token_id": 151656, + "vision_config": { + "depth": 32, + "fullatt_block_indexes": [ + 7, + 15, + 23, + 31 + ], + "hidden_act": "silu", + "hidden_size": 1280, + "in_channels": 3, + "in_chans": 3, + "initializer_range": 0.02, + "intermediate_size": 3420, + "model_type": "qwen2_5_vl", + "num_heads": 16, + "out_hidden_size": 3584, + "patch_size": 14, + "spatial_merge_size": 2, + "spatial_patch_size": 14, + "temporal_patch_size": 2, + "tokens_per_second": 2, + "torch_dtype": "bfloat16", + "window_size": 112 + }, + "vision_end_token_id": 151653, + "vision_start_token_id": 151652, + "vision_token_id": 151654, + "vocab_size": 152064 +} diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..159097f --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "others", "allow_remote": true} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..e440cb7 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,14 @@ +{ + "attn_implementation": "flash_attention_2", + "bos_token_id": 151643, + "do_sample": true, + "eos_token_id": [ + 151645, + 151643 + ], + "max_length": 128000, + "pad_token_id": 151643, + "repetition_penalty": 1.05, + "temperature": 1e-06, + "transformers_version": "4.54.0" +} diff --git a/merges.txt b/merges.txt new file mode 100644 index 0000000..2ef564c --- /dev/null +++ b/merges.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8e04af9c950e393054010dcef499c3f005e803e9b2da1a09b96a26c33266eb1 +size 1823241 diff --git a/model-00001-of-00004.safetensors b/model-00001-of-00004.safetensors new file mode 100644 index 0000000..a1cc7bd --- /dev/null +++ b/model-00001-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac9baf0d8f1bbd4c830305ee7b0ad0aabc627faf285264ad37dc3ac5328f4e82 +size 4968243304 diff --git a/model-00002-of-00004.safetensors b/model-00002-of-00004.safetensors new file mode 100644 index 0000000..2c86a0f --- /dev/null +++ b/model-00002-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af86c26d0b592d3aa7fc4796062f131e4a99f307b21bff488e3248b391f36943 +size 4991495816 diff --git a/model-00003-of-00004.safetensors b/model-00003-of-00004.safetensors new file mode 100644 index 0000000..7f75e9f --- /dev/null +++ b/model-00003-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dee364fa951b2413688dca0fc0ce6ad8e2c65ccbda983f7da2fcb986f51ed78b +size 4932751040 diff --git a/model-00004-of-00004.safetensors b/model-00004-of-00004.safetensors new file mode 100644 index 0000000..a1c5a19 --- /dev/null +++ b/model-00004-of-00004.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:864159ea1c100e793516b3b7ed806fe4c20ccd551956a97039bd5a0dfc070490 +size 1691924384 diff --git a/model.safetensors.index.json b/model.safetensors.index.json new file mode 100644 index 0000000..6a84000 --- /dev/null +++ b/model.safetensors.index.json @@ -0,0 +1,736 @@ +{ + "metadata": { + "total_size": 16584333312 + }, + "weight_map": { + "lm_head.weight": "model-00004-of-00004.safetensors", + "model.embed_tokens.weight": "model-00001-of-00004.safetensors", + "model.layers.0.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.10.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.10.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.11.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.12.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.13.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.14.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.15.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.16.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.16.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.16.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.16.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.17.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.17.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.17.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.18.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.18.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.19.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.2.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.20.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.20.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.21.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.22.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.23.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.24.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.input_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.down_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.post_attention_layernorm.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.25.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.input_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.26.mlp.down_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.26.mlp.gate_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.mlp.up_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.post_attention_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.26.self_attn.k_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.k_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.o_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.q_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.q_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.v_proj.bias": "model-00003-of-00004.safetensors", + "model.layers.26.self_attn.v_proj.weight": "model-00003-of-00004.safetensors", + "model.layers.27.input_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.27.mlp.down_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.mlp.gate_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.mlp.up_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.post_attention_layernorm.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.k_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.k_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.o_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.q_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.q_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.v_proj.bias": "model-00004-of-00004.safetensors", + "model.layers.27.self_attn.v_proj.weight": "model-00004-of-00004.safetensors", + "model.layers.3.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.3.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.input_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.post_attention_layernorm.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.4.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.5.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.5.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.5.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.5.self_attn.k_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.k_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.o_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.q_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.q_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.v_proj.bias": "model-00001-of-00004.safetensors", + "model.layers.5.self_attn.v_proj.weight": "model-00001-of-00004.safetensors", + "model.layers.6.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.6.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.6.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.7.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.7.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.8.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.input_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.down_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.gate_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.mlp.up_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.post_attention_layernorm.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.k_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.k_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.o_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.q_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.q_proj.weight": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.v_proj.bias": "model-00002-of-00004.safetensors", + "model.layers.9.self_attn.v_proj.weight": "model-00002-of-00004.safetensors", + "model.norm.weight": "model-00004-of-00004.safetensors", + "visual.blocks.0.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.0.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.0.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.0.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.0.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.1.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.1.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.1.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.1.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.10.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.10.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.10.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.10.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.11.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.11.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.11.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.11.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.12.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.12.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.12.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.12.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.13.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.13.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.13.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.13.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.14.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.14.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.14.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.14.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.15.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.15.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.15.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.15.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.16.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.16.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.16.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.16.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.17.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.17.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.17.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.17.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.18.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.18.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.18.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.18.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.19.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.19.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.19.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.19.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.2.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.2.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.2.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.2.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.20.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.20.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.20.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.20.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.21.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.21.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.21.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.21.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.22.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.22.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.22.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.22.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.23.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.23.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.23.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.23.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.24.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.24.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.24.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.24.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.25.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.25.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.25.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.25.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.26.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.26.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.26.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.26.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.27.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.27.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.27.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.27.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.28.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.28.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.28.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.28.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.29.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.29.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.29.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.29.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.3.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.3.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.3.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.3.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.30.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.30.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.30.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.30.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.31.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.31.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.31.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.31.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.4.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.4.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.4.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.4.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.5.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.5.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.5.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.5.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.6.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.6.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.6.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.6.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.7.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.7.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.7.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.7.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.8.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.8.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.8.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.8.norm2.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.attn.proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.9.attn.proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.attn.qkv.bias": "model-00001-of-00004.safetensors", + "visual.blocks.9.attn.qkv.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.down_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.down_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.gate_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.gate_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.up_proj.bias": "model-00001-of-00004.safetensors", + "visual.blocks.9.mlp.up_proj.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.norm1.weight": "model-00001-of-00004.safetensors", + "visual.blocks.9.norm2.weight": "model-00001-of-00004.safetensors", + "visual.merger.ln_q.weight": "model-00001-of-00004.safetensors", + "visual.merger.mlp.0.bias": "model-00001-of-00004.safetensors", + "visual.merger.mlp.0.weight": "model-00001-of-00004.safetensors", + "visual.merger.mlp.2.bias": "model-00001-of-00004.safetensors", + "visual.merger.mlp.2.weight": "model-00001-of-00004.safetensors", + "visual.patch_embed.proj.weight": "model-00001-of-00004.safetensors" + } +} diff --git a/preprocessor_config.json b/preprocessor_config.json new file mode 100644 index 0000000..849f287 --- /dev/null +++ b/preprocessor_config.json @@ -0,0 +1,37 @@ +{ + "crop_size": null, + "data_format": "channels_first", + "default_to_square": true, + "device": null, + "disable_grouping": null, + "do_center_crop": null, + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "image_mean": [ + 0.48145466, + 0.4578275, + 0.40821073 + ], + "image_processor_type": "Qwen2VLImageProcessorFast", + "image_std": [ + 0.26862954, + 0.26130258, + 0.27577711 + ], + "input_data_format": null, + "max_pixels": 12845056, + "merge_size": 2, + "min_pixels": 3136, + "patch_size": 14, + "processor_class": "Qwen2_5_VLProcessor", + "resample": 3, + "rescale_factor": 0.00392156862745098, + "return_tensors": null, + "size": { + "longest_edge": 12845056, + "shortest_edge": 3136 + }, + "temporal_patch_size": 2 +} diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..ac23c0a --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,31 @@ +{ + "additional_special_tokens": [ + "<|im_start|>", + "<|im_end|>", + "<|object_ref_start|>", + "<|object_ref_end|>", + "<|box_start|>", + "<|box_end|>", + "<|quad_start|>", + "<|quad_end|>", + "<|vision_start|>", + "<|vision_end|>", + "<|vision_pad|>", + "<|image_pad|>", + "<|video_pad|>" + ], + "eos_token": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..a8c78a0 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e04081d680d5bb294b2e57aea5b3aa1256d9e06263e907917fc241c5adc2fbe4 +size 11422163 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..230f071 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,209 @@ +{ + "add_bos_token": false, + "add_prefix_space": false, + "added_tokens_decoder": { + "151643": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151644": { + "content": "<|im_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151645": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151646": { + "content": "<|object_ref_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151647": { + "content": "<|object_ref_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151648": { + "content": "<|box_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151649": { + "content": "<|box_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151650": { + "content": "<|quad_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151651": { + "content": "<|quad_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151652": { + "content": "<|vision_start|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151653": { + "content": "<|vision_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151654": { + "content": "<|vision_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151655": { + "content": "<|image_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151656": { + "content": "<|video_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "151657": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151658": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151659": { + "content": "<|fim_prefix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151660": { + "content": "<|fim_middle|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151661": { + "content": "<|fim_suffix|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151662": { + "content": "<|fim_pad|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151663": { + "content": "<|repo_name|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + }, + "151664": { + "content": "<|file_sep|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": false + } + }, + "additional_special_tokens": [ + "<|im_start|>", + "<|im_end|>", + "<|object_ref_start|>", + "<|object_ref_end|>", + "<|box_start|>", + "<|box_end|>", + "<|quad_start|>", + "<|quad_end|>", + "<|vision_start|>", + "<|vision_end|>", + "<|vision_pad|>", + "<|image_pad|>", + "<|video_pad|>" + ], + "bos_token": null, + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "errors": "replace", + "extra_special_tokens": {}, + "model_max_length": 131072, + "pad_token": "<|endoftext|>", + "padding_side": "right", + "processor_class": "Qwen2_5_VLProcessor", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null +} diff --git a/video_preprocessor_config.json b/video_preprocessor_config.json new file mode 100644 index 0000000..6662e15 --- /dev/null +++ b/video_preprocessor_config.json @@ -0,0 +1,43 @@ +{ + "crop_size": null, + "data_format": "channels_first", + "default_to_square": true, + "device": null, + "do_center_crop": null, + "do_convert_rgb": true, + "do_normalize": true, + "do_pad": null, + "do_rescale": true, + "do_resize": true, + "do_sample_frames": false, + "fps": null, + "image_mean": [ + 0.48145466, + 0.4578275, + 0.40821073 + ], + "image_std": [ + 0.26862954, + 0.26130258, + 0.27577711 + ], + "input_data_format": null, + "max_frames": 768, + "max_pixels": 12845056, + "merge_size": 2, + "min_frames": 4, + "min_pixels": 3136, + "num_frames": null, + "patch_size": 14, + "processor_class": "Qwen2_5_VLProcessor", + "resample": 3, + "rescale_factor": 0.00392156862745098, + "size": { + "longest_edge": 12845056, + "shortest_edge": 3136 + }, + "size_divisor": null, + "temporal_patch_size": 2, + "video_metadata": null, + "video_processor_type": "Qwen2VLVideoProcessor" +} diff --git a/vocab.json b/vocab.json new file mode 100644 index 0000000..6c49fc6 --- /dev/null +++ b/vocab.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910 +size 2776833