Melepaskan
[2024/11/4] Enam grup WeChat.
[2024/10/24] Empat grup WeChat sebelumnya sudah penuh, jadi kami membuat grup kelima.
[2024/10/11] Terlalu banyak teman yang ingin bergabung dengan grup wechat, jadi kami membuat grup keempat.
[2024/10/2] versi onnx dan mnn dari GOT-OCR2.0.
[2024/9/29]??? Komunitas telah mengimplementasikan llama_cpp_inference versi pertama.
[2024/9/24]??? Mendukung ms-swift quick Sempurnakan data Anda sendiri.
[2024/9/23]??? Kami merilis demo resmi Modelscope. Terima kasih banyak atas Modelscope yang menyediakan sumber daya GPU.
[2024/9/14]??? Kami merilis demo resmi. Terima kasih banyak karena Huggingface menyediakan sumber daya GPU.
[2024/9/13]??? Kami merilis penerapan Huggingface.
[2024/9/03]??? Kami membuat kode, bobot, dan tolok ukur menjadi sumber terbuka. Makalah ini dapat ditemukan di repo ini. Kami juga sudah menyerahkannya ke Arxiv.
[2024/9/03]??? Kami merilis model OCR-2.0 GOT!
Kami mendorong semua orang untuk mengembangkan aplikasi GOT berdasarkan repo ini. Terima kasih atas kontribusi berikut:
referensi vllm ~ kontributor: @Jay
dukungan onnx dan mnn ~ kontributor: @BaofengZan
inferensi llama_cpp ~ kontributor: @1694439208
Colab GOT ~ kontributor: @Zizhe Wang
Versi CPU dari GOT ~ kontributor: @ElvisClaros
Demo online ~ kontributor: @Joseph Pollack
Demo Dokcer & klien ~ kontributor: @QIN2DIM
GUI GOT ~ kontributor: @XJF2332
Memasang
DAPATKAN Bobot
Demo
Kereta
Sempurnakan
Evaluasi
Menuju OCR-2.0 melalui Model End-to-end Terpadu
Lingkungan kita adalah cuda11.8+torch2.0.1
Kloning repositori ini dan navigasikan ke folder GOT
git clone https://github.com/Ucas-HaoranWei/GOT-OCR2.0.gitcd 'folder GOT'
Instal Paket
conda buat -n dapatkan python=3.10 -y conda aktifkan didapat instalasi pip -e .
Instal Flash-Perhatian
pip install ninja pip install flash-attn --no-build-isolation
wajah berpelukan
Google Drive
Kode BaiduYun: OCR2
teks biasa OCR:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --type ocr
format teks OCR:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --type format
OCR berbutir halus:
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 --warna merah/hijau/biru
OCR multi-pangkas:
python3 GOT/demo/run_ocr_2.0_crop.py --nama-model /GOT_weights/ --file-gambar /an/image/file.png
OCR multi-halaman (jalur gambar berisi beberapa file .png):
python3 GOT/demo/run_ocr_2.0_crop.py --nama-model /GOT_weights/ --file-gambar /gambar/jalur/ --multi-halaman
render hasil OCR yang diformat:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --type format --render
Catatan : Hasil rendering dapat dilihat di /results/demo.html. Silakan buka demo.html untuk melihat hasilnya.
Contoh kereta api dapat dilihat di sini. Perhatikan bahwa '
Basis kode ini hanya mendukung pasca-pelatihan (tahap-2/tahap-3) berdasarkan bobot GOT kami.
Jika Anda ingin berlatih dari tahap-1 yang dijelaskan dalam makalah kami, Anda memerlukan repo ini.
kecepatan dalam /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 Benar --bf16 Benar --gradien_akumulasi_langkah 2 --evaluation_strategy "tidak" --save_strategy "langkah" --simpan_langkah 200 --simpan_total_batas 1 --berat_peluruhan 0. --rasio_pemanasan 0,001 --lr_scheduler_type "kosinus" --logging_langkah 1 --tf32 Benar --model_max_length 8192 --gradient_checkpointing Benar --dataloader_num_workers 8 --laporan_tidak ada --per_device_train_batch_size 2 --num_train_epochs 1 --belajar_tingkat 2e-5 --kumpulan data pdf-ocr+scence --output_dir /output/jalur Anda
Catatan :
Ubah informasi data terkait di konstanta.py.
Ubah baris 37 di percakapan_dataset_qwen.py menjadi nama_data Anda.
Penyempurnaan Cepat dengan ms-swift:
git clone https://github.com/modelscope/ms-swift.gitcd ms-swift instalasi pip -e .[llm]
# default:sft LLM & proyektor, bekukan vision encoderCUDA_VISIBLE_DEVICES=0 swift sft --model_type mendapat-ocr2 --model_id_or_path stepfun-ai/GOT-OCR2_0 --sft_type lora --kumpulan data lateks-ocr-print#5000# Kecepatan dalam ZeRO2NPROC_PER_NODE=4 CUDA_VISIBLE_DEVICES=0,1,2,3 kecepatan cepat --model_type mendapat-ocr2 --model_id_or_path stepfun-ai/GOT-OCR2_0 --sft_type lora --kumpulan data lateks-ocr-print#5000 --deepspeed default-nol2
Dengan data Anda :
--kumpulan data kereta.jsonl --val_dataset val.jsonl (opsional)
Format datanya :
{"query": "55555", "response": "66666", "gambar": ["image_path"]} {"query": " eeeee", "response": "fffff", "history": [], "images": ["image_path1", "image_path2"]} {"query": "EEEEE", "response": "FFFFF", "history": [["query1", "response1"], ["query2", "response2"]]}
Lebih lengkapnya bisa dilihat di ms-swift.
Kami menggunakan benchmark Fox dan OneChart, dan benchmark lainnya dapat ditemukan di link download bobot.
Kode eval dapat ditemukan di GOT/eval.
Anda dapat menggunakan evaluasi_GOT.py untuk menjalankan eval. Jika Anda memiliki 8 GPU, --num-chunks dapat disetel ke 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 --datatype OCR
Jika Anda tertarik dengan karya ini atau memiliki pertanyaan tentang kode atau kertasnya, silakan bergabung dengan grup komunikasi WeChat kami.
Catatan : Kelima grup WeChat sudah penuh, silakan bergabung dengan grup 6.
Jangan ragu untuk menghubungi saya melalui email, [email protected], jika Anda memiliki pertanyaan.
Variasikan: basis kode yang kami bangun!
Qwen: model dasar LLM Vary, yang mahir berbahasa Inggris dan Mandarin!
@article{wei2024general, title={Teori OCR Umum: Menuju OCR-2.0 melalui Model End-to-end Terpadu}, author={Wei, Haoran dan Liu, Chenglong dan Chen, Jinyue dan Wang, Jia dan Kong, Lingyu dan Xu, Yanming dan Ge, Zheng dan Zhao, Liang dan Sun, Jianjian dan Peng, Yuang dan lainnya}, journal={arXiv preprint arXiv:2409.01704}, year={2024}}@article{wei2023vary, title={Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models}, author={Wei, Haoran dan Kong, Lingyu dan Chen, Jinyue dan Zhao, Liang dan Ge, Zheng dan Yang, Jinrong dan Sun, Jianjian dan Han, Chunrui dan Zhang, Xiangyu }, jurnal={arXiv pracetak arXiv:2312.06109}, tahun={2023}}