يطلق
[2024/11/4] مجموعة wechat الستة.
[2024/10/24] مجموعات Wechat الأربع السابقة ممتلئة، لذلك أنشأنا مجموعة خامسة.
[2024/10/11] يريد الكثير من الأصدقاء الانضمام إلى مجموعة wechat، لذلك أنشأنا مجموعة رابعة.
[2024/10/2] إصدارات onnx وmnn من GOT-OCR2.0.
[2024/9/29]؟؟؟ قام المجتمع بتطبيق الإصدار الأول من llama_cpp_inference.
[2024/9/24]؟؟؟ دعم الضبط السريع لـ ms-swift لبياناتك الخاصة.
[2024/9/23]؟؟؟ نصدر العرض التوضيحي الرسمي لـ Modelscope. شكرًا جزيلاً على Modelscope الذي يوفر مورد GPU.
[2024/9/14]؟؟؟ نحن الافراج عن العرض الرسمي. شكرًا جزيلاً على Huggingface الذي يوفر مورد GPU.
[2024/9/13]؟؟؟ قمنا بإصدار نشر Huggingface.
[2024/9/03]؟؟؟ نحن نفتح المصدر للرموز والأوزان والمعايير. يمكن العثور على الورقة في هذا الريبو. لقد قدمناها أيضًا إلى Arxiv.
[2024/9/03]؟؟؟ لقد أطلقنا نموذج OCR-2.0 GOT!
نحن نشجع الجميع على تطوير تطبيقات GOT بناءً على هذا الريبو. شكرا على المساهمات التالية:
مرجع vllm ~ المساهم: @Jay
يدعم onnx وmnn ~ المساهم: @BaofengZan
استدلال llama_cpp ~ المساهم: @1694439208
كولاب من GOT ~ المساهم: @Zizhe Wang
نسخة وحدة المعالجة المركزية من GOT ~ المساهم: @ElvisClaros
العرض التوضيحي عبر الإنترنت ~ المساهم: @جوزيف بولاك
عرض Dokcer والعميل ~ المساهم: @QIN2DIM
واجهة المستخدم الرسومية لـ GOT ~ المساهم: @XJF2332
ثَبَّتَ
حصلت على الأوزان
تجريبي
يدرب
ضبط دقيق
تقييم
نحو التعرف الضوئي على الحروف (OCR-2.0) عبر نموذج موحد شامل
بيئتنا هي cuda11.8+torch2.0.1
انسخ هذا المستودع وانتقل إلى مجلد GOT
git clone https://github.com/Ucas-HaoranWei/GOT-OCR2.0.gitcd "مجلد GOT"
تثبيت الحزمة
conda create -n حصلت على python=3.10 -y حصلت على تفعيل كوندا تثبيت النقطة -e .
قم بتثبيت Flash-Attention
pip install ninja pip install flash-attn --no-build-isolation
معانقة
جوجل درايف
كود بايدويون: OCR2
النصوص العادية التعرف الضوئي على الحروف:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --type ocr
تنسيق النصوص التعرف الضوئي على الحروف:
python3 GOT/demo/run_ocr_2.0.py --اسم النموذج /GOT_weights/ --ملف الصورة /an/image/file.png --تنسيق النوع
التعرف الضوئي على الحروف (OCR) الدقيق:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --type format/ocr --box [x1,y1,x2,y2]
python3 GOT/demo/run_ocr_2.0.py --اسم النموذج /GOT_weights/ --ملف الصورة /an/image/file.png --نوع التنسيق/ocr --اللون أحمر/أخضر/أزرق
التعرف الضوئي على الحروف متعدد المحاصيل:
python3 GOT/demo/run_ocr_2.0_crop.py --اسم النموذج /GOT_weights/ --image-file /an/image/file.png
التعرف الضوئي على الحروف متعدد الصفحات (يحتوي مسار الصورة على ملفات .png متعددة):
python3 GOT/demo/run_ocr_2.0_crop.py --اسم النموذج /GOT_weights/ --image-file /images/path/ --multi-page
عرض نتائج التعرف الضوئي على الحروف المنسقة:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --نوع التنسيق --render
ملاحظة : يمكن العثور على نتائج العرض في /results/demo.html. يرجى فتح ملف demo.html لرؤية النتائج.
يمكن العثور على عينة القطار هنا. لاحظ أن '<image>' في 'المحادثات'-'الإنسان'-'القيمة' ضرورية!
تدعم قاعدة التعليمات البرمجية هذه فقط مرحلة ما بعد التدريب (المرحلة 2/المرحلة 3) على أوزان GOT الخاصة بنا.
إذا كنت تريد التدريب من المرحلة الأولى الموضحة في ورقتنا، فأنت بحاجة إلى هذا الريبو.
Deepspeed /GOT-OCR-2.0-master/GOT/train/train_GOT.py --deepspeed /GOT-OCR-2.0-master/zero_config/zero2.json --model_name_or_path /GOT_weights/ --use_im_start_end صحيح --bf16 صحيح --gradient_accumulation_steps 2 --استراتيجية_التقييم "لا" --حفظ_استراتيجية "الخطوات" --save_steps 200 --save_total_limit 1 --اضمحلال الوزن 0. - نسبة الإحماء 0.001 --lr_scheduler_type "جيب التمام" --loging_steps 1 --tf32 صحيح --model_max_length 8192 --gradient_checkpointing صحيح --dataloader_num_workers 8 --report_to لا شيء --per_device_train_batch_size 2 --num_train_epochs 1 --معدل_التعلم 2هـ-5 --مجموعات البيانات pdf-ocr+scence --output_dir /your/output/path
ملحوظة :
قم بتغيير معلومات البيانات المقابلة في Constant.py.
قم بتغيير السطر 37 في communication_dataset_qwen.py إلى data_name الخاص بك.
الضبط السريع باستخدام ms-swift:
استنساخ بوابة https://github.com/modelscope/ms-swift.gitcd ms-swift تثبيت النقطة -e .[llm]
# الافتراضي: sft LLM وجهاز العرض، أداة تشفير الرؤية المجمدة CUDA_VISIBLE_DEVICES=0 Swift sft --model_type حصلت على ocr2 --model_id_or_path stepfun-ai/GOT-OCR2_0 --sft_type lora --مجموعة البيانات latex-ocr-print#5000# Deepspeed ZeRO2NPROC_PER_NODE=4 CUDA_VISIBLE_DEVICES=0,1,2,3 سريع sft --model_type حصلت على ocr2 --model_id_or_path stepfun-ai/GOT-OCR2_0 --sft_type lora --مجموعة البيانات latex-ocr-print#5000 --deepspeed الافتراضي-صفر2
مع البيانات الخاصة بك :
- مجموعة البيانات Train.jsonl --val_dataset val.jsonl (اختياري)
تنسيق البيانات :
{"query": "<image>55555"، "response": "66666"، "images": ["image_path"]} {"query": "<image><image>eeeee"، "response": "fffff"، "history": []، "images": ["image_path1"، "image_path2"]} {"query": "EEEEE"، "response": "FFFFFF"، "history": [["query1"، "response1"]، ["query2"، "response2"]]}
يمكن رؤية المزيد من التفاصيل في ms-swift.
نحن نستخدم معايير Fox وOneChart، ويمكن العثور على معايير أخرى في رابط تنزيل الأوزان.
يمكن العثور على رموز التقييم في GOT/eval.
يمكنك استخدام Eva_GOT.py لتشغيل التقييم. إذا كان لديك 8 وحدات معالجة رسوميات، فيمكن تعيين --num-chunks على 8.
python3 GOT/eval/evaluate_GOT.py --model-name /GOT_weights/ --gtfile_path xxxx.json --image_path /image/path/ --out_path /data/eval_results/GOT_mathpix_test/ --num-chunks 8 --نوع البيانات التعرف الضوئي على الحروف
إذا كنت مهتمًا بهذا العمل أو لديك أسئلة حول الكود أو الورقة، فيرجى الانضمام إلى مجموعة التواصل Wechat الخاصة بنا.
ملحوظة : جميع مجموعات Wechat الخمس ممتلئة، يرجى الانضمام إلى المجموعة 6.
لا تتردد في الاتصال بي عبر البريد الإلكتروني، [email protected]، إذا كان لديك أي أسئلة.
تختلف: قاعدة التعليمات البرمجية التي بنينا عليها!
Qwen: نموذج LLM الأساسي لـ Vary، وهو جيد في اللغتين الإنجليزية والصينية!
@article{wei2024general, title={نظرية التعرف الضوئي على الحروف العامة: نحو OCR-2.0 عبر نموذج موحد من النهاية إلى النهاية}، المؤلف={Wei, Haoran and Liu, Chenglong and Chen, Jinyue and Wang, Jia and Kong, Lingyu and Xu، Yanming and Ge، Zheng and Zhao، Liang and Sun، Jianjian and Peng، Yuang and others}، مجلة = {arXiv preprint arXiv:2409.01704}, year={2024}}@article{wei2023vary, title={Vary: توسيع نطاق مفردات الرؤية لنماذج لغة الرؤية الكبيرة}، المؤلف={Wei, Haoran and Kong, Lingyu and Chen, Jinyue and Zhao ، ليانغ وجي، تشنغ ويانغ، جينرونج وصن، جيانجيان وهان، تشونروي وتشانغ، شيانغيو}، مجلة={arXiv preprint arXiv:2312.06109}, year={2023}}