PDF轉Markdown的開源工具解析

Marker:PDF轉Markdown的開源工具解析
Marker是一個由VikParuchuri在GitHub上開發的開源項目,其核心功能是將PDF文件轉換為Markdown格式。以下是對Marker項目的詳細解析:

項目概述:

項目鏈接:https://github.com/VikParuchuri/marker.git
維護者:VikParuchuri
主要功能:將PDF快速且準確地轉換為Markdown格式,支持多種文檔類型,特別是書籍和科學論文。

技術特點:

深度學習模型:Marker采用了一系列深度學習模型來提取文本、檢測頁面布局、清理和格式化文本塊,并最終組合成Markdown文檔。
OCR支持:對于需要OCR的場景,Marker支持使用Surya和Tesseract等OCR工具,確保文本提取的準確性。
多平臺支持:Marker可以在GPU、CPU或MPS上運行,滿足不同硬件環境的需求。

功能細節:

文檔處理:支持去除頁眉、頁腳和其他雜質,格式化表格和代碼塊,提取并保存圖像。
語言支持:Marker支持所有語言,用戶可以通過指定語言列表來優化OCR效果。
方程轉換:能夠將大多數方程轉換為LaTeX格式,便于在Markdown文檔中嵌入數學公式。

性能表現:

速度與準確性:Marker在速度和準確性方面表現出色,特別是與nougat等其他工具相比,具有顯著優勢。
資源占用:在A6000 Ada上運行時,每個任務平均占用約4GB的VRAM,支持并行處理多個文檔。

使用指南:

安裝:用戶需要通過pip安裝marker-pdf包

pip install marker-pdf 
(GraphRAG) PS D:\python-workspace\GraphRAG> pip install marker-pdf 
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting marker-pdfDownloading https://mirrors.aliyun.com/pypi/packages/05/c1/782f56407ea60bd35c127c829b8e43da99a0da41f6c9ee002cab97e430c5/marker_pdf-0.2.15-py3-none-any.whl (63 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.2/63.2 kB 563.9 kB/s eta 0:00:00
Requirement already satisfied: Pillow<11.0.0,>=10.1.0 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from marker-pdf) (10.4.0)
Requirement already satisfied: filetype<2.0.0,>=1.2.0 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from marker-pdf) (1.2.0)
Collecting ftfy<7.0.0,>=6.1.1 (from marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/f4/f0/21efef51304172736b823689aaf82f33dbc64f54e9b046b75f5212d5cee7/ftfy-6.2.0-py3-none-any.whl (54 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.4/54.4 kB 353.5 kB/s eta 0:00:00
Requirement already satisfied: grpcio<2.0.0,>=1.63.0 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from marker-pdf) (1.64.1)
Requirement already satisfied: numpy<2.0.0,>=1.26.1 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from marker-pdf) (1.26.4)
Collecting pdftext<0.4.0,>=0.3.10 (from marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/54/78/8dd39d5ed3b90fb7ecaa20f92ff09c4594877a88501de6352d22e8c53aa0/pdftext-0.3.10-py3-none-any.whl (25 kB)
Requirement already satisfied: pydantic<3.0.0,>=2.4.2 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from marker-pdf) (2.8.0)
Collecting pydantic-settings<3.0.0,>=2.0.3 (from marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/e8/4f/aad03d5f711717d94d7de9684cb542343b392df1ad6889118636674fc983/pydantic_settings-2.3.4-py3-none-any.whl (22 kB)
Requirement already satisfied: python-dotenv<2.0.0,>=1.0.0 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from marker-pdf) (1.0.1)
Collecting rapidfuzz<4.0.0,>=3.8.1 (from marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/60/a6/6c2f5e9be933150a6d55ffce4ff6d9701ddfc5b267c789a84674eadbd373/rapidfuzz-3.9.4-cp311-cp311-win_amd64.whl (1.6 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 684.6 kB/s eta 0:00:00
Requirement already satisfied: regex<2025.0.0,>=2024.4.28 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from marker-pdf) (2024.5.15)
Requirement already satisfied: scikit-learn<2.0.0,>=1.3.2 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from marker-pdf) (1.5.0)
Collecting surya-ocr<0.5.0,>=0.4.14 (from marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/62/a8/dd78c484fa9a459e388a31aa3a45d23eb454c6aeb2a17710284631088615/surya_ocr-0.4.14-py3-none-any.whl (94 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.5/94.5 kB 773.2 kB/s eta 0:00:00
Collecting tabulate<0.10.0,>=0.9.0 (from marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl (35 kB)
Collecting texify<0.2.0,>=0.1.10 (from marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/76/26/c12d194dd90bd78b524a7054e9125685efc32149d29005ca61c72ff4c126/texify-0.1.10-py3-none-any.whl (30 kB)
Collecting torch<3.0.0,>=2.2.2 (from marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/d3/1d/a257913c89572de61316461db91867f87519146e58132cdeace3d9ffbe1f/torch-2.3.1-cp311-cp311-win_amd64.whl (159.8 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.8/159.8 MB 635.4 kB/s eta 0:00:00
Requirement already satisfied: tqdm<5.0.0,>=4.66.1 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from marker-pdf) (4.66.4)
Collecting transformers<5.0.0,>=4.36.2 (from marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/20/5c/244db59e074e80248fdfa60495eeee257e4d97c3df3487df68be30cd60c8/transformers-4.42.3-py3-none-any.whl (9.3 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.3/9.3 MB 639.8 kB/s eta 0:00:00
Collecting wcwidth<0.3.0,>=0.2.12 (from ftfy<7.0.0,>=6.1.1->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl (34 kB)
Collecting pypdfium2<5.0.0,>=4.29.0 (from pdftext<0.4.0,>=0.3.10->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/25/bd/56d9ec6b9f0fc4e0d95288759f3179f0fcd34b1a1526b75673d2f6d5196f/pypdfium2-4.30.0-py3-none-win_amd64.whl (2.9 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 627.3 kB/s eta 0:00:00
Requirement already satisfied: annotated-types>=0.4.0 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from pydantic<3.0.0,>=2.4.2->marker-pdf) (0.7.0)
Requirement already satisfied: pydantic-core==2.20.0 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from pydantic<3.0.0,>=2.4.2->marker-pdf) (2.20.0)
Requirement already satisfied: typing-extensions>=4.6.1 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from pydantic<3.0.0,>=2.4.2->marker-pdf) (4.12.2)
Requirement already satisfied: scipy>=1.6.0 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from scikit-learn<2.0.0,>=1.3.2->marker-pdf) (1.12.0)
Requirement already satisfied: joblib>=1.2.0 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from scikit-learn<2.0.0,>=1.3.2->marker-pdf) (1.4.2)
Requirement already satisfied: threadpoolctl>=3.1.0 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from scikit-learn<2.0.0,>=1.3.2->marker-pdf) (3.5.0)
Collecting opencv-python<5.0.0.0,>=4.9.0.80 (from surya-ocr<0.5.0,>=0.4.14->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/ec/6c/fab8113424af5049f85717e8e527ca3773299a3c6b02506e66436e19874f/opencv_python-4.10.0.84-cp37-abi3-win_amd64.whl (38.8 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 38.8/38.8 MB 546.5 kB/s eta 0:00:00
Collecting filelock (from torch<3.0.0,>=2.2.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/ae/f0/48285f0262fe47103a4a45972ed2f9b93e4c80b8fd609fa98da78b2a5706/filelock-3.15.4-py3-none-any.whl (16 kB)
Collecting sympy (from torch<3.0.0,>=2.2.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/61/53/e18c8c97d0b2724d85c9830477e3ebea3acf1dcdc6deb344d5d9c93a9946/sympy-1.12.1-py3-none-any.whl (5.7 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 624.0 kB/s eta 0:00:00
Requirement already satisfied: networkx in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from torch<3.0.0,>=2.2.2->marker-pdf) (3.3)
Collecting jinja2 (from torch<3.0.0,>=2.2.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl (133 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.3/133.3 kB 492.1 kB/s eta 0:00:00
Requirement already satisfied: fsspec in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from torch<3.0.0,>=2.2.2->marker-pdf) (2024.6.1)
Collecting mkl<=2021.4.0,>=2021.1.1 (from torch<3.0.0,>=2.2.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/fe/1c/5f6dbf18e8b73e0a5472466f0ea8d48ce9efae39bd2ff38cebf8dce61259/mkl-2021.4.0-py2.py3-none-win_amd64.whl (228.5 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 228.5/228.5 MB 597.0 kB/s eta 0:00:00
Requirement already satisfied: colorama in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from tqdm<5.0.0,>=4.66.1->marker-pdf) (0.4.6)
Collecting huggingface-hub<1.0,>=0.23.2 (from transformers<5.0.0,>=4.36.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/69/d6/73f9d1b7c4da5f0544bc17680d0fa9932445423b90cd38e1ee77d001a4f5/huggingface_hub-0.23.4-py3-none-any.whl (402 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 402.6/402.6 kB 598.2 kB/s eta 0:00:00
Requirement already satisfied: packaging>=20.0 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from transformers<5.0.0,>=4.36.2->marker-pdf) (23.2)
Requirement already satisfied: pyyaml>=5.1 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from transformers<5.0.0,>=4.36.2->marker-pdf) (6.0.1)
Requirement already satisfied: requests in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from transformers<5.0.0,>=4.36.2->marker-pdf) (2.32.3)
Collecting safetensors>=0.4.1 (from transformers<5.0.0,>=4.36.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/cb/f6/19f268662be898ff2a23ac06f8dd0d2956b2ecd204c96e1ee07ba292c119/safetensors-0.4.3-cp311-none-win_amd64.whl (287 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 287.3/287.3 kB 571.3 kB/s eta 0:00:00
Collecting tokenizers<0.20,>=0.19 (from transformers<5.0.0,>=4.36.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/65/8e/6d7d72b28f22c422cff8beae10ac3c2e4376b9be721ef8167b7eecd1da62/tokenizers-0.19.1-cp311-none-win_amd64.whl (2.2 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.2/2.2 MB 625.9 kB/s eta 0:00:00
Collecting intel-openmp==2021.* (from mkl<=2021.4.0,>=2021.1.1->torch<3.0.0,>=2.2.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/6f/21/b590c0cc3888b24f2ac9898c41d852d7454a1695fbad34bee85dba6dc408/intel_openmp-2021.4.0-py2.py3-none-win_amd64.whl (3.5 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 487.9 kB/s eta 0:00:00
Collecting tbb==2021.* (from mkl<=2021.4.0,>=2021.1.1->torch<3.0.0,>=2.2.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/f1/24/500811330b3b070e5995c3275181dbcd00c06cef26c6ebfe6ee1ca9b6223/tbb-2021.13.0-py3-none-win_amd64.whl (286 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 286.9/286.9 kB 505.8 kB/s eta 0:00:00
Collecting MarkupSafe>=2.0 (from jinja2->torch<3.0.0,>=2.2.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl (17 kB)
Requirement already satisfied: charset-normalizer<4,>=2 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from requests->transformers<5.0.0,>=4.36.2->marker-pdf) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from requests->transformers<5.0.0,>=4.36.2->marker-pdf) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from requests->transformers<5.0.0,>=4.36.2->marker-pdf) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in e:\programdata\miniconda3\envs\graphrag\lib\site-packages (from requests->transformers<5.0.0,>=4.36.2->marker-pdf) (2024.6.2)
Collecting mpmath<1.4.0,>=1.1.0 (from sympy->torch<3.0.0,>=2.2.2->marker-pdf)Downloading https://mirrors.aliyun.com/pypi/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl (536 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 495.3 kB/s eta 0:00:00
Installing collected packages: wcwidth, tbb, mpmath, intel-openmp, tabulate, sympy, safetensors, rapidfuzz, pypdfium2
, opencv-python, mkl, MarkupSafe, ftfy, filelock, jinja2, huggingface-hub, torch, tokenizers, pydantic-settings, transformers, pdftext, texify, surya-ocr, marker-pdf
Successfully installed MarkupSafe-2.1.5 filelock-3.15.4 ftfy-6.2.0 huggingface-hub-0.23.4 intel-openmp-2021.4.0 jinja2-3.1.4 marker-pdf-0.2.15 mkl-2021.4.0 mpmath-1.3.0 opencv-python-4.10.0.84 pdftext-0.3.10 pydantic-settings-2.3.4 pypdfium2-4.30.0 rapidfuzz-3.9.4 safetensors-0.4.3 surya-ocr-0.4.14 sympy-1.12.1 tabulate-0.9.0 tbb-2021.13.0 texify-0.1.10 tokenizers-0.19.1 torch-2.3.1 transformers-4.42.3 wcwidth-0.2.13使用示例:```bash
(GraphRAG) PS D:\python-workspace\GraphRAG> marker_single GPT.pdf ./folder --batch_multiplier 2 --max_pages 52 --langs English
config.json: 100%|█████████████████████████████████████████████████████████████████████| 1.18k/1.18k [00:00<?, ?B/s] 
model.safetensors: 100%|█████████████████████████████████████████████████████████| 120M/120M [00:07<00:00, 16.7MB/s] 
Loaded detection model vikp/surya_det2 on device cpu with dtype torch.float32
preprocessor_config.json: 100%|████████████████████████████████████████████████████████████| 430/430 [00:00<?, ?B/s] 
config.json: 100%|█████████████████████████████████████████████████████████████████████| 1.57k/1.57k [00:00<?, ?B/s] 
model.safetensors: 100%|█████████████████████████████████████████████████████████| 120M/120M [00:06<00:00, 18.0MB/s] 
Loaded detection model vikp/surya_layout2 on device cpu with dtype torch.float32
preprocessor_config.json: 100%|████████████████████████████████████████████████████████████| 430/430 [00:00<?, ?B/s] 
config.json: 100%|█████████████████████████████████████████████████████████████████████| 5.04k/5.04k [00:00<?, ?B/s] 
model.safetensors: 100%|█████████████████████████████████████████████████████████| 550M/550M [00:34<00:00, 16.2MB/s] 
generation_config.json: 100%|██████████████████████████████████████████████████████████████| 160/160 [00:00<?, ?B/s] 
Loaded reading order model vikp/surya_order on device cpu with dtype torch.float32
preprocessor_config.json: 100%|████████████████████████████████████████████████████████████| 684/684 [00:00<?, ?B/s] 
config.json: 100%|█████████████████████████████████████████████████████████████| 6.91k/6.91k [00:00<00:00, 6.82MB/s] 
model.safetensors: 100%|███████████████████████████████████████████████████████| 1.05G/1.05G [01:04<00:00, 16.2MB/s] 
generation_config.json: 100%|██████████████████████████████████████████████████████████████| 181/181 [00:00<?, ?B/s]
Loaded recognition model vikp/surya_rec on device cpu with dtype torch.float32
preprocessor_config.json: 100%|█████████████████████████████████████████████████████| 608/608 [00:00<00:00, 605kB/s]
config.json: 100%|█████████████████████████████████████████████████████████████████████| 4.92k/4.92k [00:00<?, ?B/s]
model.safetensors: 100%|█████████████████████████████████████████████████████████| 625M/625M [00:38<00:00, 16.4MB/s]
generation_config.json: 100%|██████████████████████████████████████████████████████████████| 191/191 [00:00<?, ?B/s]
Loaded texify model to cpu with torch.float32 dtype
preprocessor_config.json: 100%|████████████████████████████████████████████████████████████| 617/617 [00:00<?, ?B/s]
tokenizer_config.json: 100%|███████████████████████████████████████████████████████████| 4.49k/4.49k [00:00<?, ?B/s]
tokenizer.json: 100%|██████████████████████████████████████████████████████████| 2.14M/2.14M [00:00<00:00, 2.85MB/s]
added_tokens.json: 100%|███████████████████████████████████████████████████████████████| 18.3k/18.3k [00:00<?, ?B/s]
special_tokens_map.json: 100%|█████████████████████████████████████████████████████| 552/552 [00:00<00:00, 6.29MB/s] 
Detecting bboxes: 100%|███████████████████████████████████████████████████████████████| 7/7 [05:49<00:00, 49.99s/it] 
Recognizing Text: 100%|███████████████████████████████████████████████████████████████| 1/1 [00:11<00:00, 11.37s/it] 
Detecting bboxes: 100%|███████████████████████████████████████████████████████████████| 5/5 [05:32<00:00, 66.45s/it] 
Finding reading order: 100%|██████████████████████████████████████████████████████████| 5/5 [03:15<00:00, 39.04s/it] 
Saved markdown to the ./folder\GPT folder

配置:用戶可以通過環境變量或配置文件調整Marker的行為,如設置OCR引擎、指定GPU設備、配置內存使用等。
命令行工具:Marker提供了命令行工具,允許用戶以批處理方式轉換單個或多個PDF文件。商業使用與許可:商業限制:雖然研究和個人使用是免費的,但商業使用受到一定限制。模型權重采用cc-by-nc-sa-4.0許可證,但作者為符合條件的小型組織提供了許可證豁免。
雙許可選項:對于需要去除GPL許可證要求或超出收入限制的商業用戶,提供了雙許可選項。社區與支持:Discord社區:用戶可以在Discord上討論Marker的未來開發和其他相關問題。
文檔與示例:GitHub倉庫提供了詳細的文檔和示例,幫助用戶快速上手。總結:
Marker是一個功能強大、易于使用的PDF轉Markdown工具,通過深度學習模型和OCR技術的結合,實現了高效且準確的文檔轉換。它不僅支持多種文檔類型和語言,還提供了豐富的配置選項和命令行工具,滿足了不同用戶的需求。同時,Marker的社區支持和文檔也非常完善,為用戶提供了良好的使用體驗。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42597.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42597.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42597.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【技術追蹤】DiffuMatting:使用摳圖級別注釋合成任意對象(ECCV-2024)

萬物生&#xff1a;Diffusion與綠幕摳圖&#xff0c;影視領域的福音~ 論文&#xff1a;DiffuMatting: Synthesizing Arbitrary Objects with Matting-level Annotation 代碼&#xff1a;https://github.com/HUuxiaobin/DiffuMatting &#xff08;即將開源&#xff09; 0、摘要 …

2024年06月CCF-GESP編程能力等級認證C++編程一級真題解析

本文收錄于專欄《C等級認證CCF-GESP真題解析》&#xff0c;專欄總目錄&#xff1a;點這里。訂閱后可閱讀專欄內所有文章。 一、單選題&#xff08;每題 2 分&#xff0c;共 30 分&#xff09; 第 1 題 在C中&#xff0c;下列不可做變量的是( )。 A. five-Star B. five_star C…

(補充):java各種進制和文本、圖像、音頻在計算機中的存儲方式

文章目錄 前言一、進制1 逢幾進一2 常見進制在java中的表示3 進制中的轉換(1)任意進制轉十進制(2)十進制轉其他進制二、計算機中的存儲1 計算機的存儲規則(文本數據)(1)ASCII碼表(2)編碼規則的發展演化2 計算機的存儲規則(圖片數據)(1)分辨率、像素(2)黑白圖與灰度…

Knife4j的介紹與使用

目錄 一、簡單介紹1.1 簡介1.2 主要特點和功能&#xff1a; 二、使用步驟&#xff1a;2.1 添加依賴&#xff1a;2.2 yml數據源配置2.3 創建knife4j配置類2.4 注解的作用 最后 一、簡單介紹 1.1 簡介 Knife4j 是一款基于Swagger的開源文檔管理工具&#xff0c;主要用于生成和管…

Java客戶端調用SOAP方式的WebService服務實現方式分析

簡介 在多系統交互中&#xff0c;有時候需要以Java作為客戶端來調用SOAP方式的WebService服務&#xff0c;本文通過分析不同的調用方式&#xff0c;以Demo的形式&#xff0c;幫助讀者在生產實踐中選擇合適的調用方式。 本文JDK環境為JDK17。 結論 推薦使用Axis2或者Jaxws&#…

拆分pdf文件最簡單的方法,pdf怎么拆成一頁一張

在數字化的時代&#xff0c;pdf文件已經成為我們日常辦公、學習不可或缺的文檔格式。然而&#xff0c;有時候我們可能需要對一個大的pdf文件進行拆分&#xff0c;以方便管理和分享。那么&#xff0c;如何將一個pdf文件拆分成多個pdf呢&#xff1f;本文將為你推薦一種好用的拆分…

PLSQL Day4

--使用顯式游標更新行&#xff0c;對所有salesman增加500獎金&#xff1a; declare cursor s_cursor is select * from emp where job SALESMAN for update; begin for e_s in s_cursor loop update emp set comm nvl(comm,0)500 where current of s_cur…

AFT:Attention Free Transformer論文筆記

原文鏈接 2105.14103 (arxiv.org) 原文翻譯 Abstract 我們介紹了 Attention Free Transformer (AFT)&#xff0c;這是 Transformer [1] 的有效變體&#xff0c;它消除了點積自注意力的需要。在 AFT 層&#xff0c;鍵key和值value首先與一組學習的位置偏差position biases相結…

ubuntu22安裝Docker并配置

安裝Docker sudo apt install docker.io使用腳本自動安裝docker&#xff1a; curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun配置國內鏡像 /etc/docker/daemon.json 推薦配置&#xff1a; {"registry-mirrors": ["htt…

Lab1 論文 MapReduce

目錄 &#x1f339;前言 &#x1f985;2 Programming Model &#x1f33c;2.1 Example &#x1f33c;2.2 Types &#x1f33c;2.3 More Examples &#x1f985;3 Implementation(實現) &#x1f33c;3.1 ~ 3.3 &#x1f33c;3.4 ~ 3.6 &#x1f985;4 Refinemen…

代理IP有什么用途

代理IP主要有以下應用場景&#xff1a; 1、隱藏真實IP地址&#xff1a;通過使用代理IP&#xff0c;可以隱藏真實的網絡請求來源&#xff0c;保護用戶隱私。 2、繞過網絡限制&#xff1a;一些地區或網絡環境可能存在訪問限制&#xff0c;通過使用代理IP可以繞過這些限制&#xf…

Anaconda+Pycharm 項目運行保姆級教程(附帶視頻)

最近很多小白在問如何用anacondapycharm運行一個深度學習項目&#xff0c;進行代碼復現呢&#xff1f;于是寫下這篇文章希望能淺淺起到一個指導作用。 附視頻講解地址&#xff1a;AnacondaPycharm項目運行實例_嗶哩嗶哩_bilibili 一、項目運行前的準備&#xff08;軟件安裝&…

BN的 作用

1、背景&#xff1a; 卷積神經網絡的出現&#xff0c;網絡參數量大大減低&#xff0c;使得幾十層的深層網絡成為可能。然而&#xff0c;在殘差網絡出現之前&#xff0c;網絡的加深使得網絡訓練變得非常不穩定&#xff0c;甚至出現網絡長時間不更新或者不收斂的情形&#xff0c;…

ER模型理論和三范式

ER模型理論和三范式 各種關系多對一一對一一對多多對多 三范式理論函數依賴完全函數依賴部分函數依賴傳遞&#xff08;間接&#xff09;函數依賴 第一范式&#xff1a;屬性&#xff08;表字段&#xff09;不可切割第二范式&#xff1a;不能存在 部分函數依賴(都存在完全函數依賴…

2款一鍵word生成ppt的AI工具,讓職場辦公更為簡單!

在當下主打異步溝通的職場辦公環境中&#xff0c;我們與很多人的溝通&#xff0c;都是通過書面材料來達成的&#xff0c;這就讓 Word 或文檔編輯軟件變得更為重要&#xff0c;與此同時&#xff0c;有時為了凸現書面材料中的重點&#xff0c;我們還要將 word 文檔轉換為 ppt 來進…

2024年06月CCF-GESP編程能力等級認證Python編程五級真題解析

本文收錄于專欄《Python等級認證CCF-GESP真題解析》&#xff0c;專欄總目錄&#xff1a;點這里&#xff0c;訂閱后可閱讀專欄內所有文章。 一、單選題&#xff08;每題 2 分&#xff0c;共 30 分&#xff09; 第 1 題 在Python中&#xff0c;print((c for c in “GESP”))的輸…

MiniGPT-Med 通用醫學視覺大模型:生成醫學報告 + 視覺問答 + 醫學疾病識別

MiniGPT-Med 通用醫學視覺大模型&#xff1a;生成醫學報告 視覺問答 醫學疾病識別 提出背景解法拆解 論文&#xff1a;https://arxiv.org/pdf/2407.04106 代碼&#xff1a;https://github.com/Vision-CAIR/MiniGPT-Med 提出背景 近年來&#xff0c;人工智能&#xff08;AI…

如何讓自動化測試框架更自動化?

一、引言 ?對于大廠的同學來說&#xff0c;接口自動化是個老生常談的話題了&#xff0c;畢竟每年的MTSC大會議題都已經能佐證了&#xff0c;不是大數據測試&#xff0c;就是AI測試等等&#xff08;越來越高大上了&#xff09;。不可否認這些專項的方向是質量智能化發展的方向&…

刷題(day02)

1、leetcode136.刪除鏈表的結點 給定單向鏈表的頭指針和一個要刪除的節點的值&#xff0c;定義一個函數刪除該節點。 返回刪除后的鏈表的頭節點。 示例 1: 輸入: head [4,5,1,9], val 5 輸出: [4,1,9] 解釋: 給定你鏈表中值為 5 的第二個節點&#xff0c;那么在調用了你的函數…

Windows圖形界面(GUI)-SDK-C/C++ - 應用程序結構

公開視頻 -> 鏈接點擊跳轉公開課程博客首頁 -> 鏈接點擊跳轉博客主頁 目錄 入口函數 窗口注冊 窗口創建 窗口顯示 窗口更新 消息循環 窗口過程 窗口銷毀 調試信息 示例代碼 入口函數 在Windows應用程序中&#xff0c;WinMain是主函數&#xff0c;作為應用程序…