ปล่อย
[2024/11/4] วีแชทกรุ๊ปทั้งหก
[2024/10/24] กลุ่ม wechat สี่กลุ่มก่อนหน้านี้เต็มแล้ว เราจึงสร้างกลุ่มที่ห้าขึ้นมา
[2024/10/11] มีเพื่อนอยากเข้าร่วมกลุ่ม WeChat มากเกินไป เราจึงสร้างกลุ่มที่สี่ขึ้นมา
[2024/10/2] GOT-OCR2.0 เวอร์ชัน onnx และ mnn
[2024/9/29]??? ชุมชนได้นำ llama_cpp_inference เวอร์ชันแรกไปใช้แล้ว
[24/9/2024]??? รองรับ ms-swift Quick ปรับแต่งข้อมูลของคุณเอง
[23/9/2024]??? เราเปิดตัวการสาธิต Modelscope อย่างเป็นทางการ ขอบคุณมากสำหรับ Modelscope ที่ให้ทรัพยากร GPU
[2024/9/14]??? เราเปิดตัวการสาธิตอย่างเป็นทางการ ขอบคุณมากสำหรับ Huggingface ที่จัดหาทรัพยากร GPU
[2024/9/13]??? เราเผยแพร่การปรับใช้ Huggingface
[2024/9/03]??? เราโอเพ่นซอร์สโค้ด น้ำหนัก และเกณฑ์มาตรฐาน กระดาษสามารถพบได้ใน repo นี้ เรายังส่งมันไปที่ Arxiv ด้วย
[2024/9/03]??? เปิดตัว OCR-2.0 รุ่น GOT!
เราสนับสนุนให้ทุกคนพัฒนาแอปพลิเคชัน GOT ตาม repo นี้ ขอบคุณสำหรับการสนับสนุนดังต่อไปนี้:
การอ้างอิง vllm ~ ผู้ร่วมให้ข้อมูล: @Jay
onnx และ mnn รองรับ ~ ผู้สนับสนุน: @BaofengZan
การอนุมาน llama_cpp ~ ผู้ร่วมให้ข้อมูล: @ 1694439208
Colab ของ GOT ~ ผู้ร่วมให้ข้อมูล: @Zizhe Wang
เวอร์ชัน CPU ของ GOT ~ ผู้สนับสนุน: @ElvisClaros
การสาธิตออนไลน์ ~ ผู้ร่วมให้ข้อมูล: @Joseph Pollack
การสาธิตของหมอและลูกค้า ~ ผู้สนับสนุน: @ QIN2DIM
GUI ของ 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 conda เปิดใช้งานแล้ว pip ติดตั้ง -e
ติดตั้ง Flash-Attention
pip install ninja pip install flash-attn --no-build-isolation
กอดหน้า
Google ไดรฟ์
รหัส BaiduYun: OCR2
OCR ข้อความธรรมดา:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --type ocr
จัดรูปแบบข้อความ OCR:
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 --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 --model-name /GOT_weights/ --image-file /an/image/file.png --type format/ocr --color แดง/เขียว/น้ำเงิน
OCR หลายครอบตัด:
python3 GOT/demo/run_ocr_2.0_crop.py --ชื่อรุ่น /GOT_weights/ --image-file /an/image/file.png
OCR หลายหน้า (เส้นทางรูปภาพประกอบด้วยไฟล์ .png หลายไฟล์):
python3 GOT/demo/run_ocr_2.0_crop.py --model-name /GOT_weights/ --image-file /images/path/ --หลายหน้า
แสดงผลผลลัพธ์ OCR ที่จัดรูปแบบแล้ว:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --type รูปแบบ --render
หมายเหตุ : ผลลัพธ์การเรนเดอร์สามารถพบได้ใน /results/demo.html กรุณาเปิด demo.html เพื่อดูผลลัพธ์
สามารถดูตัวอย่างรถไฟได้ที่นี่ โปรดทราบว่าจำเป็นต้องใช้ '
โค้ดเบสนี้รองรับเฉพาะหลังการฝึกอบรม (ระยะที่ 2/ระยะที่ 3) ตามตุ้มน้ำหนัก GOT ของเรา
หากคุณต้องการฝึกอบรมจากระยะที่ 1 ที่อธิบายไว้ในรายงานของเรา คุณต้องมี repo นี้
ความเร็วลึก /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_ขั้นตอน 2 --evalue_strategy "ไม่" --save_strategy "ขั้นตอน" --save_steps 200 --save_total_limit 1 --weight_decay 0. --อัตราส่วนการวอร์มอัพ 0.001 --lr_scheduler_type "โคไซน์" --logging_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 --learning_rate 2e-5 --ชุดข้อมูล pdf-ocr+scence --output_dir /ของคุณ/เอาท์พุท/path
บันทึก :
เปลี่ยนข้อมูลข้อมูลที่เกี่ยวข้องใน Constant.py
เปลี่ยนบรรทัด 37 ใน Conversation_dataset_qwen.py เป็น data_name ของคุณ
ปรับแต่งอย่างรวดเร็วด้วย ms-swift:
โคลนคอมไพล์ https://github.com/modelscope/ms-swift.gitcd ms-swift pip ติดตั้ง -e .[llm]
# ค่าเริ่มต้น: sft LLM & โปรเจ็กเตอร์, หยุดตัวเข้ารหัสการมองเห็น CUDA_VISIBLE_DEVICES=0 sft ที่รวดเร็ว --model_type got-ocr2 --model_id_or_path stepfun-ai/GOT-OCR2_0 --sft_type ลอร่า --ชุดข้อมูล latex-ocr-print#5000# Deepspeed ZeRO2NPROC_PER_NODE=4 CUDA_VISIBLE_DEVICES=0,1,2,3 รวดเร็ว --model_type got-ocr2 --model_id_or_path stepfun-ai/GOT-OCR2_0 --sft_type ลอร่า --ชุดข้อมูล latex-ocr-print#5000 --ค่าเริ่มต้นความเร็วลึก-ศูนย์2
ด้วยข้อมูลของคุณ :
--ชุดข้อมูล train.jsonl --val_dataset val.jsonl (เป็นทางเลือก)
รูปแบบข้อมูล :
{"query": "55555", "response": "66666", "images": ["image_path"]} {"query": " eeeee", "response": "fffff", "history": [], "images": ["image_path1", "image_path2"]} {"query": "EEEEE", "response": "FFFFF", "history": [["query1", "response1"], ["query2", "response2"]]}
รายละเอียดเพิ่มเติมสามารถดูได้ใน ms-swift
เราใช้การวัดประสิทธิภาพ Fox และ OneChart และการวัดประสิทธิภาพอื่นๆ สามารถพบได้ในลิงก์ดาวน์โหลดน้ำหนัก
รหัส eval มีอยู่ใน GOT/eval
คุณสามารถใช้ประเมินผล_GOT.pyเพื่อรันการประเมินได้ หากคุณมี GPU 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 --ประเภทข้อมูล OCR
หากคุณสนใจงานนี้หรือมีคำถามเกี่ยวกับรหัสหรือเอกสาร โปรดเข้าร่วมกลุ่มการสื่อสาร Wechat ของเรา
หมายเหตุ : กลุ่ม Wechat ทั้งห้ากลุ่มเต็มแล้ว โปรดเข้าร่วมกลุ่ม 6
อย่าลังเลที่จะติดต่อฉันทางอีเมล [email protected] หากคุณมีคำถามใดๆ
Vary: โค้ดเบสที่เราสร้างขึ้น!
Qwen: โมเดลพื้นฐาน LLM ของ Vary ซึ่งเก่งทั้งภาษาอังกฤษและจีน!
@article{wei2024general, title={ทฤษฎี OCR ทั่วไป: สู่ OCR-2.0 ผ่านโมเดล End-to-end แบบครบวงจร}, ผู้แต่ง={Wei, Haoran และ Liu, Chenglong และ Chen, Jinyue และ Wang, Jia และ Kong, Lingyu และ Xu, Yanming และ Ge, Zheng และ Zhao, Liang และ Sun, Jianjian และ Peng, Yuang และคนอื่นๆ}, Journal={arXiv preprint arXiv:2409.01704}, year={2024}}@article{wei2023vary, title={Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models} ผู้แต่ง={Wei, Haoran และ Kong, Lingyu และ Chen, Jinyue และ Zhao, Liang และ Ge, Zheng และ Yang, Jinrong และ Sun, Jianjian และ Han, Chunrui และ Zhang, Xiangyu }, วารสาร={arXiv พิมพ์ล่วงหน้า arXiv:2312.06109}, ปี={2023}}