当前位置: 首页 > news >正文

深圳建设网站公司排名网页制作作业网站

深圳建设网站公司排名,网页制作作业网站,工信部网站备案信息查询,哈尔滨站建好了吗下载minerU的源码(下载地址:MinerU),然后找到web_api文件夹 进入文件夹,执行docker命令,生成minerU的镜像文件。 docker build -t mineru-api . 执行过程如下图 执行成功会创建一个镜像。 启动镜像&#xf…

下载minerU的源码(下载地址:MinerU),然后找到web_api文件夹

进入文件夹,执行docker命令,生成minerU的镜像文件。

docker build -t mineru-api .

执行过程如下图

 执行成功会创建一个镜像。

启动镜像,生成容器

docker run --rm -it --gpus=all -p 8000:8000 mineru-api

容器启动成功,可以通过浏览器进行访问:

http://localhost:8000/docs

localhost可以改为具体的IP地址

看到这样的 一个页面,就代表mineru的webapi构建成功。

注意:如果是在Windows系统中做上面的操作,会遇到各种问题,尤其是镜像的构建,会出现各种报错,大多数是网络原因,使用科学上网能够解决一部分。

我用了科学上网后,还是有一些报错,比如在拉取大模型时,一直出现拉取失败的情况,无奈我只好把dockerfile中拉取模型的命令先注释掉,然后构建镜像,镜像构建好了之后,在单独下载大模型,然后在镜像启动的命令中,动态把模型的文件加载到容器中。

具体操作如下:

先把dockerfile中这些内容注释,在构建镜像时,不下载模型。

等镜像构建好之后,再下载模型。

下载模型的操作,在web_api目录下面,先创建一个文件 dw_model.py

内容如下

#!/usr/bin/env python
import os
import sys
import time
import shutil
from huggingface_hub import snapshot_download# 设置国内镜像
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'def download_with_retry(repo_id, allow_patterns, local_dir, max_retries=3):"""带重试机制的模型下载"""for attempt in range(max_retries):try:print(f"\n🔄 开始下载 {repo_id} (尝试 {attempt + 1}/{max_retries})")print(f"📁 下载到: {local_dir}")model_dir = snapshot_download(repo_id=repo_id,allow_patterns=allow_patterns,local_dir=local_dir,resume_download=True,local_files_only=False,token=None,)print(f"✅ {repo_id} 下载成功!")print(f"📂 模型目录: {model_dir}")return model_direxcept Exception as e:print(f"❌ 下载失败 (尝试 {attempt + 1}/{max_retries}): {e}")if attempt < max_retries - 1:wait_time = (attempt + 1) * 30print(f"⏳ 等待 {wait_time} 秒后重试...")time.sleep(wait_time)else:print(f"❌ {repo_id} 下载最终失败")raisedef fix_directory_structure(models_dir):"""修复目录结构 - 将 models/models/ 中的文件移动到 models/"""models_subdir = os.path.join(models_dir, "models")if os.path.exists(models_subdir):print(f"\n🔧 修复目录结构...")print(f"📁 发现嵌套的 models 目录: {models_subdir}")# 移动所有文件从 models/models/ 到 models/for item in os.listdir(models_subdir):src = os.path.join(models_subdir, item)dst = os.path.join(models_dir, item)if os.path.exists(dst):if os.path.isdir(dst):print(f"📂 合并目录: {item}")# 如果是目录,合并内容for subitem in os.listdir(src):sub_src = os.path.join(src, subitem)sub_dst = os.path.join(dst, subitem)if os.path.exists(sub_dst):shutil.rmtree(sub_dst)shutil.move(sub_src, sub_dst)else:print(f"📄 覆盖文件: {item}")os.remove(dst)shutil.move(src, dst)else:print(f"📦 移动: {item}")shutil.move(src, dst)# 删除空的 models 子目录os.rmdir(models_subdir)print(f"✅ 目录结构修复完成!")# 验证修复结果print(f"\n📋 修复后的目录结构:")for item in os.listdir(models_dir):item_path = os.path.join(models_dir, item)if os.path.isdir(item_path):print(f"  📂 {item}/")try:subitems = os.listdir(item_path)for subitem in subitems[:3]:  # 只显示前3个print(f"    - {subitem}")if len(subitems) > 3:print(f"    ... 还有 {len(subitems) - 3} 个文件")except:passelse:print(f"  📄 {item}")def check_disk_space(required_gb=10):"""检查磁盘空间"""total, used, free = shutil.disk_usage("./")free_gb = free // (1024**3)print(f"💾 可用磁盘空间: {free_gb} GB")if free_gb < required_gb:print(f"⚠️  警告: 可用空间不足 {required_gb} GB,可能影响下载")return free_gb >= required_gbif __name__ == "__main__":try:print("🚀 开始下载 MinerU 所需模型...")print("=" * 50)# 检查磁盘空间check_disk_space(15)# 创建本地目录models_dir = "./models"layoutreader_dir = "./layoutreader"os.makedirs(models_dir, exist_ok=True)os.makedirs(layoutreader_dir, exist_ok=True)print(f"\n📦 下载 PDF-Extract-Kit 模型...")model_dir = download_with_retry("opendatalab/PDF-Extract-Kit-1.0",["models/Layout/YOLO/*","models/MFD/YOLO/*", "models/MFR/unimernet_hf_small_2503/*","models/OCR/paddleocr_torch/*",],models_dir)# 修复目录结构fix_directory_structure(models_dir)print(f"\n📦 下载 LayoutReader 模型...")layoutreader_model_dir = download_with_retry("hantian/layoutreader",["*.json", "*.safetensors"],layoutreader_dir)print("\n" + "=" * 50)print("🎉 所有模型下载完成!")print(f"📂 PDF-Extract-Kit 模型: {model_dir}")print(f"📂 LayoutReader 模型: {layoutreader_model_dir}")print("\n✅ 目录结构已修复,现在可以运行 MinerU 了!")print("\n💡 提示: 如果使用 Docker,请确保将 models 目录挂载到容器的 /opt/models")except KeyboardInterrupt:print("\n⚠️  下载被用户中断")sys.exit(1)except Exception as e:print(f"\n❌ 下载过程中发生错误: {e}")print("💡 建议:")print("   1. 检查网络连接")print("   2. 确保有足够的磁盘空间")print("   3. 尝试使用 VPN 或代理")sys.exit(1) 

运行这个文件,用来下载模型

python dw_model.py

如果执行失败,就多执行几次,可能就成功了。

启动镜像的脚本,就改成如下的命令:

docker run -d --restart=always -v D:\ProgramData\MinerU\projects\web_api\models:/opt/models -v D:\ProgramData\MinerU\projects\web_api\layoutreader:/opt/layoutreader -p 8000:8000 --name mineru-api 镜像ID

镜像ID:通过 docker images命令,查询出mineru的镜像ID。

下面这两个路径,要根据自己电脑的路径,进行修改:

D:\ProgramData\MinerU\projects\web_api\models:/opt/models

D:\ProgramData\MinerU\projects\web_api\layoutreader:/opt/layoutreader

http://www.dtcms.com/a/482156.html

相关文章:

  • Python3 AI 编程助手
  • C# WPS操作PPT,全屏,缩率图,备注,跳转播放
  • 医药公司网站建设备案网站做戒酒通知书
  • 高效存储大List对象到Redis的解决方案,使用分片存储和压缩技术
  • 阿德莱德学习推理与导航!PEAP-LLM:基于大语言模型的参数高效动作规划
  • 科技赋能畜牧业|小吉快检 BL-08plus 推动行业数字化转型
  • Qt多线程渲染架构设计与实现思考
  • 亚马逊云科技 WAF 指南(十)用 Amazon Q Developer CLI 解决 DDoS 防护与 SEO 冲突问题
  • 网络营销是什么 能做什么seo项目经理
  • 咨询行业网站建设公司太仓市建设局网站
  • 自己开外销网站怎么做手机分销网站
  • 那个网站可以做ppt赚钱建设银行网站查询密码怎么开通
  • EI输入整形振动抑制方法介绍
  • Python爬虫实战手册
  • 教程: 在网页中利用原生CSS实现3D旋转动画
  • 机器学习从零到精通:理论、实践与工业级应用完整指南
  • 泰州模板建站源码移动端网页
  • 机器学习中的灰色预测算法:原理、实现与实战应用完整教程
  • 教育培训网站开发企业软件管理系统排名
  • jvm中的栈
  • 完整项目实战:使用 Playwright MCP 构建网页交互 AI 助手教程
  • PortSwigger靶场之 CSRF where token is not tied to user session通关秘籍
  • 四川住房城乡建设厅网站眉山注册公司流程和费用
  • 【数据库】时序数据库选型指南:在大数据与工业4.0时代,为何 Apache IoTDB 成为智慧之选?
  • 免费建站网站seowordpress 调用 discuz
  • 多因子模型识别避险共振:AI量化系统捕捉黄金突破4100美元的驱动信号
  • DAPLINK可以烧录,但无法调试仿真
  • 手机网站设计咨询永久免费的连外网的软件
  • 只出现一次的数字(位运算算法)
  • Unity 跨平台构建完全指南