How to run GOT-OCR 2.0 on a cloud GPU
Rent a GPU on Deploy, then open a terminal in JupyterLab or over SSH. Install GOT-OCR 2.0 from the official Ucas-HaoranWei/GOT-OCR2.0 repository the way the README prints, download the weights the model card’s code names, and run one of the documented OCR commands. Copy /results/demo.html and any text you saved before you destroy the instance, because destroying the instance deletes its disk.
A document OCR pipeline whose docs print no GPU GB figure is How to run PaddleOCR on a cloud GPU. A PDF pipeline whose README says at least 12 GB of GPU RAM is How to convert PDFs to text with olmOCR on a cloud GPU. A converter whose README states 8 GB+ VRAM on two standard rows is How to convert PDFs to Markdown with MinerU on a cloud GPU. A converter whose README prints no GPU GB figure is How to convert PDFs to Markdown with Marker on a cloud GPU. Docling’s README also prints no minimum GPU GB figure: How to convert PDFs and documents with Docling on a cloud GPU. A promptable OCR model whose cards print 0.23B and 0.77B and no GPU GB figure is How to run Florence-2 on a cloud GPU. A vision-language server whose README prints a transformers minimum table is How to serve Qwen2.5-VL with vLLM on a cloud GPU. If the process runs out of memory: How to fix CUDA out of memory on a cloud GPU. If the process raises no kernel image on an RTX 5090: How to fix CUDA no kernel image on an RTX 5090. The download helper this site prints is How to download a Hugging Face model. A vision model whose 4.7 doc loads openbmb/MiniCPM-V-4.7-35B-A3B, and whose vLLM cookbook prints ~70 GB bf16 for that variant, is How to run MiniCPM-V on a cloud GPU.
The repository root listing at commit 179ed086ad6bac0908a04ee06b3fc382021aa566 has no LICENSE file, and the GitHub license field on 2026-11-14 was empty. The README badge says “Code License Apache 2.0” and “Data License CC By NC 4.0”, and both badge links point at tatsu-lab/stanford_alpaca license files, not a file in this repository. GOT-OCR-2.0-master/pyproject.toml sets a classifier to “Apache Software License”. The model card front matter says license: apache-2.0. That license text is not a CloudGPU price.
The commands below are copied from the upstream files named in each step. They were not run on a CloudGPU instance for this page. Anything this page adds around them is marked. Repository HEAD was committed 2025-02-10T12:13:00Z. The install section still says cuda11.8+torch2.0.1. The cd line prints a placeholder directory. This page keeps the instructions to what those files print.
What the docs say about memory
The README and the model card print no GPU GB figure. The transformers GOT-OCR2 page quotes the paper’s “580M parameters” and says GOT supports a 1024×1024 input resolution. This page does not turn that parameter count into a VRAM number and does not mark a catalog row as enough.
GET /v1/public/compute-capabilities does not list GPUs. It returns feature flags. The memory column is vram_gb from gpu-prices.json, updated_at 2026-11-14T01:00:35.518Z. GET /v1/public/gpu-catalog the same day (generated_at 2026-11-14T01:00:36.104Z) listed the same names and the same vram_gb values, plus Ascend 910B at 64, which is not in gpu-prices.json and is not listed here. The catalog response also includes an availability field. This page does not copy it. Every prices row has gpu_count 1. Every catalog row has min_gpu_count 1. Which listing you can start is on Deploy.
The catalog template list had no GOT-OCR template.
| Catalog name | vram_gb |
|---|---|
| RTX 2080 | 8 |
| RTX 3080 | 10 |
| RTX 2080 Ti | 11 |
| RTX 3080 Ti | 12 |
| V100 16G | 16 |
| A30 | 24 |
| RTX 3090 | 24 |
| RTX 4090 | 24 |
| RTX 4090D | 24 |
| RTX 4080 SUPER 32G | 32 |
| RTX 5090 | 32 |
| RTX 5090D | 32 |
| V100 32G | 32 |
| A100 40G | 40 |
| A800 40G | 40 |
| A40 | 48 |
| RTX 4090 48G | 48 |
| RTX 4090D 48G | 48 |
| RTX A6000 | 48 |
| NVIDIA RTX PRO 5000 72G | 72 |
| RTX PRO 5000 72G | 72 |
| A100 80G | 80 |
| A800 80G | 80 |
| H800 | 80 |
| RTX 6000D | 83 |
| H20 96G | 96 |
| RTX PRO 6000 96G | 96 |
| RTX PRO 6000 Max-Q | 96 |
| H20-3e 141G | 141 |
Install
The README’s install, copied. Step 0 says the environment is cuda11.8+torch2.0.1.
git clone https://github.com/Ucas-HaoranWei/GOT-OCR2.0.git
cd 'the GOT folder'
conda create -n got python=3.10 -y
conda activate got
pip install -e .
pip install ninja
pip install flash-attn --no-build-isolation
The quoted directory the GOT folder is not a name in the repository root. The root listing at this commit is GOT-OCR-2.0-master, GOT-OCR-2.0-paper.pdf, README.md, and assets. GOT-OCR-2.0-master/pyproject.toml sets name to GOT, version to 0.1.0, and requires-python to >=3.8. It depends on transformers==4.37.2 and on torch with no version pin and no CUDA wheel index. This page did not choose a directory the README does not name, and it did not run pip install -e .. A conda environment, if you want one around those lines, is How to set up a conda environment on a cloud GPU.
Download the weights
The README’s weights section links https://huggingface.co/ucaslcl/GOT-OCR2_0 and does not print a download command. The model card’s code calls from_pretrained('ucaslcl/GOT-OCR2_0', trust_remote_code=True). On 2026-11-14, GET https://huggingface.co/api/models/ucaslcl/GOT-OCR2_0 returned HTTP 307 to stepfun-ai/GOT-OCR2_0. The model API for stepfun-ai/GOT-OCR2_0 reported gated false, cardData.license apache-2.0, pipeline_tag image-text-to-text, lastModified 2025-02-04T00:37:25.000Z, and sha 979938bf89ccdc949c0131ddd3841e24578a4742.
The transformers page’s snippets call from_pretrained("stepfun-ai/GOT-OCR-2.0-hf"). That is a different repository. Its model API the same day reported gated false, cardData.license apache-2.0, pipeline_tag image-text-to-text, lastModified 2025-01-31T16:40:29.000Z, and sha d3017ef2c2c1395888c8d635c5e0508bcb0ac78d. This page does not treat the two ids as the same files.
The README does not print hf download. The block below is added on this page. It uses the id the model card’s code prints. How to download a Hugging Face model prints pip install -U "huggingface_hub" and hf download. This page did not download the repository.
# Added on this page. The README links the repository and does not print hf download.
pip install -U "huggingface_hub"
hf download ucaslcl/GOT-OCR2_0 --local-dir GOT-OCR2_0
The block below is added on this page for the transformers checkpoint, which the README’s 2025/2/1 line also links.
# Added on this page. The transformers page loads this id with from_pretrained.
hf download stepfun-ai/GOT-OCR-2.0-hf --local-dir GOT-OCR-2.0-hf
Run the modes the README lists
The README’s demo commands, copied. Paths such as /GOT_weights/ and /an/image/file.png are the placeholders the README prints.
Plain texts OCR:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --type ocr
Format texts OCR:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --type format
Fine-grained OCR. The README prints --type format/ocr with either --box [x1,y1,x2,y2] or --color red/green/blue:
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 red/green/blue
Multi-crop OCR, and multi-page OCR. The README says the multi-page feature is not batch inference and works on the token level, and that the image path contains multiple png files:
python3 GOT/demo/run_ocr_2.0_crop.py --model-name /GOT_weights/ --image-file /an/image/file.png
python3 GOT/demo/run_ocr_2.0_crop.py --model-name /GOT_weights/ --image-file /images/path/ --multi-page
Render formatted results. The README says the rendering results can be found in /results/demo.html:
python3 GOT/demo/run_ocr_2.0.py --model-name /GOT_weights/ --image-file /an/image/file.png --type format --render
The model card’s plain-text call, copied. It uses ocr_type='ocr'. Commented lines on the same card use ocr_type='format', ocr_box, ocr_color, chat_crop, and render=True with save_render_file = './demo.html'.
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained('ucaslcl/GOT-OCR2_0', trust_remote_code=True)
model = AutoModel.from_pretrained('ucaslcl/GOT-OCR2_0', trust_remote_code=True, low_cpu_mem_usage=True, device_map='cuda', use_safetensors=True, pad_token_id=tokenizer.eos_token_id)
model = model.eval().cuda()
image_file = 'xxx.jpg'
res = model.chat(tokenizer, image_file, ocr_type='ocr')
print(res)
The card’s tested requirements, copied: torch==2.0.1, torchvision==0.15.2, transformers==4.37.2, tiktoken==0.6.0, verovio==4.3.1, accelerate==0.28.0. It says those were tested on Python 3.10. This page did not install that set.
The transformers page
The transformers page’s plain-text snippet loads stepfun-ai/GOT-OCR-2.0-hf with AutoModelForImageTextToText and AutoProcessor, then calls model.generate with do_sample=False, max_new_tokens=4096, and a stop string. The snippet passes device=device and does not assign device. This page does not add an assignment. The same page also shows:
- formatted text, with
format=True - multiple pages, with
multi_page=Trueandformat=Trueon a list of images - cropped patches, with
format=True,crop_to_patches=True, andmax_patches=3 - a region, with
color="green"orbox=[x1, y1, x2, y2]
The README demo does not print a host or a port. The transformers snippets do not print one either. This page does not add a web server. How to use SSH port forwarding on a cloud GPU is the tunnel for a process that does print a port.
When it fails
CUDA out of memory. The README and the model card print no GPU GB figure. If the process raises CUDA out of memory, use how to fix CUDA out of memory on a cloud GPU.
“CUDA error: no kernel image is available for execution on the device” on an RTX 5090. The README’s environment line is cuda11.8+torch2.0.1. pyproject.toml does not pin a CUDA wheel. The RTX 5090 guide says that card is compute capability 12.0 (sm_120) and that PyTorch 2.7 and later, on a build for CUDA 12.8 or newer, is the line that announced support. This page did not install a torch wheel and did not re-test this model on an RTX 5090. Catalog RTX 5090 and RTX 5090D are 32. That is the catalog number only.
Unclear directory. cd 'the GOT folder' does not name GOT-OCR-2.0-master. This page does not guess which directory pip install -e . expects beyond pointing at the pyproject.toml that exists.
What to copy off, then destroy
The README says rendered output is at /results/demo.html. The model card prints res and, in a commented line, writes ./demo.html. Copy those files before you destroy the instance. Save your work before you destroy a cloud GPU is the checklist. The terms say data on local instance storage is permanently deleted when the instance is destroyed.
The pricing page FAQ states the billing rule in these words:
Per-minute options have a 1-minute minimum; unused prepaid minutes are refunded when you destroy the instance. Some configurations use whole-hour billing with a 1-hour minimum; unused time within a charged hour is not refunded on voluntary stop. The billing period, minimum charge and initial prepayment are shown before confirmation. No subscription.
Prices are not copied here.
Frequently asked questions
What GPU memory figure do the README and the model card print?
The README and the model card print no GPU GB figure. The transformers page quotes the paper abstract at 580M parameters and says GOT supports a 1024 by 1024 input resolution. This page does not turn that parameter count into a VRAM number and does not mark a catalog row as enough. Which listing you can start is on https://cloudgpu.app/deploy.
Which OCR modes do the README and the transformers page list?
The README lists plain texts OCR with --type ocr, format texts OCR with --type format, fine-grained OCR with --box or --color, multi-crop OCR, and multi-page OCR with --multi-page on run_ocr_2.0_crop.py. It says the multi-page feature is not batch inference and works on the token level. --render writes /results/demo.html. The chat call on the model card uses ocr_type ocr or format, and commented lines use ocr_box, ocr_color, chat_crop, and render. The transformers page shows plain text, formatted text with format=True, multiple pages with multi_page=True, cropped patches with crop_to_patches=True and max_patches=3, and a region with color or box. This page did not run them.
Which install commands does the README print, and is the setup clear?
The README says the environment is cuda11.8+torch2.0.1. It prints git clone https://github.com/Ucas-HaoranWei/GOT-OCR2.0.git and a cd line whose directory is a placeholder, then conda create -n got python=3.10 -y, conda activate got, and pip install -e . That placeholder is not a directory in the repository root. The root listing at commit 179ed08 contains GOT-OCR-2.0-master, and that directory contains pyproject.toml. Repository HEAD was committed 2025-02-10. This page did not run the install.
What license do the files print?
The repository root listing has no LICENSE file, and the GitHub license field on 2026-11-14 was empty. The README badge says Code License Apache 2.0 and Data License CC By NC 4.0, and both badge links point at license files in another repository. GOT-OCR-2.0-master/pyproject.toml sets a classifier to Apache Software License. The model card front matter says license apache-2.0, and the model API cardData.license was apache-2.0 with gated false. That license text is not a CloudGPU price.
Sources (read 2026-11-14, Asia/Shanghai)
- Ucas-HaoranWei/GOT-OCR2.0 README (install,
cuda11.8+torch2.0.1, weights linkucaslcl/GOT-OCR2_0, plain / format / fine-grained / multi-crop / multi-page / render commands,/results/demo.html): commit179ed086ad6bac0908a04ee06b3fc382021aa566, committed 2025-02-10T12:13:00Z. Root listing has noLICENSEfile. GitHub license field empty. README badge links point attatsu-lab/stanford_alpaca GOT-OCR-2.0-master/pyproject.toml(nameGOT,version0.1.0,requires-python>=3.8,transformers==4.37.2, classifier Apache Software License): same commit- Hugging Face model card
stepfun-ai/GOT-OCR2_0(front matterlicense: apache-2.0,torch==2.0.1,from_pretrained('ucaslcl/GOT-OCR2_0'),ocr_typeocrandformat): read 2026-11-14. Model API:gatedfalse,cardData.licenseapache-2.0,pipeline_tagimage-text-to-text,lastModified2025-02-04T00:37:25.000Z,sha979938bf89ccdc949c0131ddd3841e24578a4742.GET /api/models/ucaslcl/GOT-OCR2_0returned HTTP 307 to this id - Transformers GOT-OCR2 page (580M parameters, 1024×1024,
stepfun-ai/GOT-OCR-2.0-hf,format,multi_page,crop_to_patches,max_patches3,color,box): https://huggingface.co/docs/transformers/model_doc/got_ocr2, read 2026-11-14. Model API forstepfun-ai/GOT-OCR-2.0-hf:gatedfalse,cardData.licenseapache-2.0,lastModified2025-01-31T16:40:29.000Z,shad3017ef2c2c1395888c8d635c5e0508bcb0ac78d - Public GPU memory: https://cloudgpu.app/gpu-prices.json (
updated_at2026-11-14T01:00:35.518Z) and https://cloudgpu.app/v1/public/gpu-catalog (generated_at2026-11-14T01:00:36.104Z).GET /v1/public/compute-capabilitiesreturned feature flags and no GPU list. The catalog had no GOT-OCR template
Cards you can start are on the Deploy page. Prices are on https://cloudgpu.app/pricing and are not repeated here.
Last updated: 2026-11-14 (Asia/Shanghai).