Linux服务器安装MinerU
安装MinerU
为了确保项目的稳定性和可靠性,我们在开发过程中仅对特定的软硬件环境进行优化和测试。这样当用户在推荐的系统配置上部署和运行项目时,能够获得最佳的性能表现和最少的兼容性问题。
这里我们以基础的 [[Linux服务器部署PaddleX实战教程]] 使用 Paddle-gpu环境为例
1. 创建 Conda 虚拟环境
需指定python版本为3.10
conda create -n mineru python=3.10 -y
conda activate mineru
2. 安装 magic-pdf
pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com -i https://mirrors.aliyun.com/pypi/simple
3 .验证安装
下载完成后,务必通过以下命令确认magic-pdf的版本是否正确
magic-pdf --version
输出如下:
Creating new Ultralytics Settings v0.0.6 file ✅
View Ultralytics Settings with 'yolo settings' or at '/root/.config/Ultralytics/settings.json'
Update Settings with 'yolo settings key=value', i.e. 'yolo settings runs_dir=path/to/dir'. For help see https://docs.ultralytics.com/quickstart/#ultralytics-settings.
import tensorrt_llm failed, if do not use tensorrt, ignore this message
import lmdeploy failed, if do not use lmdeploy, ignore this message
magic-pdf, version 1.2.2
如果版本号小于0.7.0,请到 issue 中反馈
4. 安装 paddlepaddle-gpu
4.1 安装 paddlepaddle-gpu
版本参考飞桨官网,我们的 CUDA 版本为 12.2,这里需要注意 paddlepaddle-gpu
安装 b1
版本的,b2
版本与 magic-pdf
不兼容,安装命令如下:
python -m pip install paddlepaddle-gpu==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
如果出现错误,大多数情况是网络不够稳定,因此,重新执行即可解决。若是版本问题则需要根据飞桨官网安装适配版本,目前官方已经支持国产芯片部署了。
4.2 验证 PaddlePaddle 是否安装成功
使用以下命令可以验证 PaddlePaddle 是否安装成功。
python -c "import paddle; paddle.utils.run_check(); print(paddle.__version__)"
输出如下:
Running verify PaddlePaddle program ...
I0309 12:29:41.671007 1301 program_interpreter.cc:243] New Executor is Running.
W0309 12:29:41.673063 1301 gpu_resources.cc:119] Please NOTE: device: 0, GPU Compute Capability: 8.0, Driver API Version: 12.2, Runtime API Version: 11.8
W0309 12:29:41.673806 1301 gpu_resources.cc:164] device: 0, cuDNN Version: 8.7.
I0309 12:29:42.088343 1301 interpreter_util.cc:648] Standalone Executor is Used.
PaddlePaddle works well on 1 GPU.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.
3.0.0-beta1
[!error] cv2 缺少 libGL.so.1 模块
问题描述ImportError: libgomp.so.1: cannot open shared object file: No such file or directory
解决方案
[[cv2缺少libGL.so.1模块]]
apt-get install sudo sudo apt-get update sudo apt-get install libglvnd-dev libgl1 -y
[!error] Title
问题描述
/opt/conda/envs/paddlex/lib/python 3.10/site-packages/paddle/utils/cpp_extension/extension_utils. Py:686: UserWarning: No ccache found. Please be aware that recompiling all source files may be required. You can download and install ccache from: https://github.com/ccache/ccache/blob/master/doc/INSTALL.md
Warnings. Warn (warning_message)解决方案
这个警告信息来自于 PaddlePaddle(飞桨)框架,它提示您的系统中没有找到
ccache
。ccache
是一个编译缓存工具,它可以加速 C/C++项目的重新编译过程,通过缓存之前的编译结果来避免重复编译相同的源文件。(paddlex) python -c "import paddle; paddle. Utils. Run_check ()" Running verify PaddlePaddle program ... I 1217 07:30:18.775925 1038 pir_interpreter. Cc: 1480] New Executor is Running ... W 1217 07:30:18.777175 1038 gpu_resources. Cc: 119] Please NOTE: device: 0, GPU Compute Capability: 8.0, Driver API Version: 12.2, Runtime API Version: 11.8 W 1217 07:30:18.777792 1038 gpu_resources. Cc: 164] device: 0, cuDNN Version: 8.9. I 1217 07:30:19.045917 1038 pir_interpreter. Cc: 1506] pir interpreter is running by multi-thread mode ... PaddlePaddle works well on 1 GPU. PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.
4 .模型下载
参考 [[HuggingFace模型下载指南]]中的下载方式,我们使用从 ModelScope
下载模型
4.1 安装 ModelScope 包
ModelScope 是一个模型中心,我们使用它来下载模型。在终端或命令提示符中执行以下命令安装
pip install modelscope
4.2 下载模型
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models.py -O download_models.py
python download_models.py
输出以下内容,则代表下载成功:
Downloading Model to directory: /root/.cache/modelscope/hub/models/opendatalab/PDF-Extract-Kit-1.0model_dir is: /root/.cache/modelscope/hub/models/opendatalab/PDF-Extract-Kit-1___0/models
layoutreader_model_dir is: /root/.cache/modelscope/hub/models/ppaanngggg/layoutreader
The configuration file has been configured successfully, the path is: /root/magic-pdf.json
5. 配置文件存放的位置
完成下载模型步骤后,脚本会自动生成用户目录下的 magic-pdf.json
文件,并自动配置默认模型路径。您可在【用户目录】下找到magic-pdf.json文件。linux用户目录为 “/home/用户名”。
cat /root/magic-pdf.json
我们可以看到 device-mode
的值是 cpu
,因此如果使用 GPU
加速的话,需要修改为 cuda
5.1 修改配置文件
编辑配置文件内容,i
启动编辑
vim /root/magic-pdf.json
修改【用户目录】中配置文件 magic-pdf.json 中”device-mode”的值
{"device-mode":"cuda"
}
ESC
退出写入,: wq
退出保存文件。
5.2 测试 CUDA
运行以下命令测试 cuda 加速效果
magic-pdf -p small_ocr.pdf -o ./output
CUDA 加速是否生效可以根据 log 中输出的各个阶段 cost 耗时来简单判断,通常情况下, layout detection cost
、 mfr time
和 ocr cost
应提速10倍以上。Log日志显示,已经修改为 cuda
2025-03-09 12:49:58.761 | INFO | magic_pdf.model.pdf_extract_kit:__init__:92 - using device: cuda
6 .ssh 脚本安装
也可以直接创立下述 install.sh
自动化脚本安装:
#!/bin/bash# 设置日志文件路径
LOG_FILE="./install.log"# 指定虚拟环境名称
export CONDA_ENV_NAME="mineru"# 检查日志文件是否存在,不存在则创建
if [ ! -f "$LOG_FILE" ]; thentouch "$LOG_FILE"
fi# 切换到工作目录
echo "切换到工作目录" | tee -a "$LOG_FILE"
cd /Audits | tee -a "$LOG_FILE"# 创建 Conda 虚拟环境
echo "创建 Conda 虚拟环境..." | tee -a "$LOG_FILE"
conda create -n $CONDA_ENV_NAME python=3.10 -y | tee -a "$LOG_FILE"source /opt/conda/bin/activate $CONDA_ENV_NAME
if [ $? -ne 0 ]; thenecho "Failed to activate conda environment: $CONDA_ENV_NAME" | tee -a "$LOG_FILE"exit 1
else echo "Activated conda environment: $CONDA_ENV_NAME" | tee -a "$LOG_FILE"
fi# 安装 magic-pdf
echo "安装 magic-pdf..." | tee -a "$LOG_FILE"
pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com -i https://mirrors.aliyun.com/pypi/simple | tee -a "$LOG_FILE"# 验证 magic-pdf 安装
echo "验证 magic-pdf 安装..." | tee -a "$LOG_FILE"
magic-pdf --version | tee -a "$LOG_FILE"# 安装 paddlepaddle-gpu
echo "安装 paddlepaddle-gpu..." | tee -a "$LOG_FILE"
python -m pip install paddlepaddle-gpu==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/ | tee -a "$LOG_FILE"# 验证 PaddlePaddle 是否安装成功
echo "验证 PaddlePaddle 是否安装成功..." | tee -a "$LOG_FILE"
python -c "import paddle; paddle.utils.run_check()" | tee -a "$LOG_FILE"# 安装 ModelScope 包
echo "安装 ModelScope 包..." | tee -a "$LOG_FILE"
pip install modelscope | tee -a "$LOG_FILE"# 下载模型
echo "尝试下载模型..." | tee -a "$LOG_FILE"
max_retries=5
retry_count=0
download_successful=falsewhile [ "$retry_count" -lt "$max_retries" ] && [ "$download_successful" = false ]; dowget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models.py -O download_models.pyif [ $? -eq 0 ]; thenecho "模型下载文件下载成功。" | tee -a "$LOG_FILE"download_successful=trueelselet retry_count++echo "下载失败,正在重试($retry_count/$max_retries)..." | tee -a "$LOG_FILE"sleep 5 # 等待5秒后重试if [ $retry_count -eq $max_retries ]; thenecho "达到最大重试次数,尝试ping网址测试连通性..." | tee -a "$LOG_FILE"ping -c 4 gcore.jsdelivr.net | tee -a "$LOG_FILE"fifi
doneif [ "$download_successful" = false ]; thenecho "模型下载失败,请检查网络连接或链接的有效性。" | tee -a "$LOG_FILE"exit 1
fi# 运行下载脚本
echo "运行下载脚本..." | tee -a "$LOG_FILE"python download_models.py | tee -a "$LOG_FILE"# 配置文件存放的位置
echo "配置文件存放的位置..." | tee -a "$LOG_FILE"
cat /root/magic-pdf.json | tee -a "$LOG_FILE"# 修改配置文件
echo "修改配置文件..." | tee -a "$LOG_FILE"
# 备份原始配置文件
cp /root/magic-pdf.json /root/magic-pdf.json.backup | tee -a "$LOG_FILE"# 使用 sed 命令直接修改文件中的 device-mode 值为 cuda
sed -i 's/"device-mode": ".*"/"device-mode": "cuda"/' /root/magic-pdf.json | tee -a "$LOG_FILE"# 检查配置文件是否修改成功
cat /root/magic-pdf.json | tee -a "$LOG_FILE"# 测试 CUDA 加速效果
echo "测试 CUDA..." | tee -a "$LOG_FILE"
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/demo/small_ocr.pdf | tee -a "$LOG_FILE"
magic-pdf -p small_ocr.pdf -o ./output | tee -a "$LOG_FILE"echo "安装完成!" | tee -a "$LOG_FILE"
- 赋予脚本执行权限:
chmod +x install.sh
- 运行脚本:
./install.sh
参考文章
MinerU/docs/README_Ubuntu_CUDA_Acceleration_zh_CN.md at master · opendatalab/MinerU
使用 CUDA 加速 — MinerU 1.2.2 文档
Mineru保姆级部署教程-CSDN博客
最新开源的解析效果非常好的PDF解析工具MinerU (pdf2md pdf2json)-CSDN博客
国产PDF智能提取神器:MinerU功能全解析_mineru官方网站-CSDN博客
相关文章:
Linux服务器安装MinerU
安装MinerU 为了确保项目的稳定性和可靠性,我们在开发过程中仅对特定的软硬件环境进行优化和测试。这样当用户在推荐的系统配置上部署和运行项目时,能够获得最佳的性能表现和最少的兼容性问题。 这里我们以基础的 [[Linux服务器部署PaddleX实战教程]] 使…...
深挖 DeepSeek 隐藏玩法·智能炼金术2.0版本
前引:屏幕前的你还在AI智能搜索框这样搜索吗?“这道题怎么写”“苹果为什么红”“怎么不被发现翘课” ,。看到此篇文章的小伙伴们!请准备好你的思维魔杖,开启【霍格沃茨模式】,看我如何更新秘密的【知识炼金…...
Vite 内联 CSS 和 JS 的解决方案
使用 vite-plugin-singlefile(推荐) 这个插件专门用于将整个 Vite 应用打包成单个 HTML 文件,内联所有 JS 和 CSS。 安装 pnpm i vite-plugin-singlefile -D配置 vite.config.js import { defineConfig } from vite import { viteSingleF…...
致敬生物信息学先驱:玛格丽特·戴霍夫(Margaret Dayhoff,1925-1983)
李升伟 编译 社论 发布于:2025年3月11日 《自然-计算科学》第五卷 第187页(2025年) 在玛格丽特戴霍夫(Margaret Dayhoff,1925-1983)百年诞辰之际,我们聚焦这位先驱在生物信息学领域留下的不朽…...
Knife4j文档请求异常 空指针
打开swagger文档报空指针异常 java.lang.NullPointerException: nullat springfox.documentation.oas.mappers.SchemaMapper.model(SchemaMapper.java:97)at springfox.documentation.oas.mappers.SchemaMapper.mapModel(SchemaMapper.java:85)at springfox.documentation.oas…...
笔记2——网络参考模型
一、OSI参考模型: 应用层: 报文 给应用程序提供接口 表示层: 进行数据格式的转换 会话层: 在通讯双方之间建立、管理和终止会话 传输层: 数据段;建立、维护、取消一次端到端的数据传输过程;控制…...
Spring AOP + Redis缓存设计实战:基于注解的优雅三防方案(击穿/穿透/雪崩)
文章目录 摘要 正文一、缓存设计的痛点与破局二、核心代码拆解:四层防御设计1. 注解驱动(ZywCacheable)2. 缓存击穿防护:双重检查锁3. 缓存穿透防护:空值标记4. 缓存雪崩防护:TTL随机算法 三、生产环境最佳…...
洛谷题单3-P5720 【深基4.例4】一尺之棰-python-流程图重构
题目描述 《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为 a a a 的木棍,从第二天开始,每天都要将这根木棍锯掉一半(每次除 2 2 2,向下取整)。第几天的时候木…...
jdk21新特性详解使用总结
jdk21新特性详解总结 1.StringBuilder和StringBuffer新增了一个repeat方法 /*** Java 21的StringBuilder和StringBuffer新增了一个repeat方法*/public static void repeatStr(){var sbnew StringBuilder().repeat("*",10);System.out.println(sb);}运行结果如下&…...
解码 collections.Counter - 频率统计的利器
文章目录 前言一、什么是 collections.Counter?二、 基本用法:从创建到访问2.1 创建 Counter 对象2.2 访问计数三、 核心功能:更新与排序3.1 更新计数3.2 获取常见元素四、高级用法:数学运算与转换4.1 数学运算4.2 类型转换五、 实际应用:Counter 的威力5.1 词频统计5.2 在…...
Mysql基础笔记
# 1.SQL数据类型 可以去这篇文章看看: 最全 SQL 字段类型(4种)、属性(6种)总结:https://blog.csdn.net/weixin_45654582/article/details/119157403 ### 一.整数类型 ### 二.小数类型(2种) 1、浮点型:…...
HttpClient-03.入门案例-发送POST方式请求
一.发送POST方式请求 编写代码: 1.创建一个HttpClient对象 2.创建一个HttpGet请求 3.发送http的get请求并获得响应对象 4.通过发送GET请求获取的CloseableHttpResponse响应对象来获取状态码以及响应数据 package com.sky.test;import com.alibaba.fastjson.JS…...
Oracle数据库数据编程SQL<3.6 PL/SQL 包(Package)>
包是Oracle数据库中一种重要的PL/SQL程序结构,它将逻辑相关的变量、常量、游标、异常、过程和函数组织在一起,提供了更好的封装性和模块化。在大型项目中,可能有很多模块,而每一个模块又有自己的存过、函数等。而这些存过、函数默…...
每日一题---买卖股票的最好时机(一)、(二)
目录 买卖股票的最好时机(一) 一、题目链接:买卖股票的最好时机(一)_牛客题霸_牛客网 二、解题思路 三、代码实现 买卖股票的最好时机(二) 一、题目链接:买卖股票的最好时机(二)_牛客题霸_牛客网 编辑 二、解题思路 …...
XSS漏洞的分类解释和演示实验
XSS漏洞:跨站脚本攻击(cross site scripting),为了不和CSS混淆而改名。攻击者网web插入恶意script代码,当用户浏览页面时,嵌入的代码会被执行。 危害:盗取各类用户,强制发送电子邮件,网站挂马等…...
【Pandas】pandas DataFrame info
Pandas2.2 DataFrame Attributes and underlying data 方法描述DataFrame.index用于获取 DataFrame 的行索引DataFrame.columns用于获取 DataFrame 的列标签DataFrame.dtypes用于获取 DataFrame 中每一列的数据类型DataFrame.info([verbose, buf, max_cols, …])用于提供 Dat…...
JP1 Systemwalker 和 unirita的A-AUTO制品对比
以下是 JP1 SystemWalker(日立) 与 Unirita A-AUTO 的对比分析。两者均为日本企业开发的IT运维自动化工具,但在功能定位、技术架构和适用场景上存在显著差异: 1. 产品背景与市场定位 维度JP1 SystemWalkerUnirita A-AUTO开发商日…...
探索鸿蒙操作系统:迎接万物互联新时代
# 探索鸿蒙操作系统:迎接万物互联新时代 在科技飞速发展的当下,万物互联的时代浪潮正席卷而来。在这个全新的时代背景下,移动应用开发领域面临着前所未有的挑战,同时也迎来了诸多机遇。而鸿蒙操作系统(HarmonyOS&…...
NOIP2010提高组.引水入城
*前置题目 901. 滑雪 #include <iostream> #include <algorithm> #include <cstring>using namespace std;const int N 310, INF 0x3f3f3f3f; const int dx[4] {0, -1, 0, 1}, dy[4] {1, 0, -1, 0};int n, m, h[N][N]; int f[N][N]; int ans;int dfs(i…...
NLP高频面试题(二十九)——大模型解码常见参数解析
在大语言模型的实际应用中,如何更有效地控制文本生成的质量与多样性,一直是热门研究话题。其中,模型解码(decode)策略至关重要,涉及的主要参数包括 top_k、top_p 和 temperature 等。本文将详细介绍这些常见…...
【AI产品分享】面向图片的原始位置翻译功能
1. 背景 在撰写文字材料时,往往需要配套图像以增强表达效果。然而,有时自己绘制的图可能达不到理想的质量,而在其他文献材料中却能发现更清晰、直观的示例。希望在“站在巨人的肩膀上”优化自己的图像时,通常希望在保留原始图像的…...
为什么要为 REST API 添加认证
在不断发展的 Web 服务领域,REST API 在各种软件系统之间的通信中扮演着至关重要的角色。然而,强大的功能也伴随着巨大的责任。确保敏感数据的安全性和通信的可靠性是至关重要的。这时,认证就显得尤为重要。通过使用认证,我们可以…...
AI 数字人短视频数字人源码部署揭秘:开启虚拟内容创作新纪元
在当下短视频盛行的时代,AI 数字人短视频以其独特的魅力吸引着大众的目光。虚拟偶像在舞台上活力四射,电商平台中数字人不知疲倦地推荐产品,这些令人瞩目的表现背后,源码的部署起着至关重要的作用。它如同幕后的神奇工匠ÿ…...
佳能imageRUNNER 2206N基本参数及管理员密码
基本参数: 产品类型 激光数码复合机 颜色类型 黑白 涵盖功能 复印/打印/扫描 速度类型 低速 最大原稿尺寸 A3 复印/打印方式 激光静电转印方式 感光材料 OPC 显影系统 干式单组分显影 定影…...
【Linux篇】探索进程地址空间:计算机背后的虚拟世界
进程地址空间的奥秘:让你理解程序如何在计算机中生存 一. 程序地址空间1.1 基本概念1.2 虚拟内存管理1.3 为什么存在虚拟地址空间1.3.1 意义 2. 最后 本文将介绍进程地址空间的基本概念与结构,帮助读者理解操作系统如何管理和分配内存。进程地址空间指的…...
Docker部署sprintboot后端项目
创建Docker网络 docker network create icjs 部署Redis docker run -d \--network icjs \--name redis \-p 6379:6379 \redis:latest数据持久化 docker run --restartalways --network icjs -p 6379:6379 --name redis -v /opt/docker/redis/redis.conf:/etc/redis/redis.c…...
1.4 基于模拟退火改进蛇算法优化VGG13SE网络超参数的故障诊断模型
本博客来源于CSDN机器鱼,未同意任何人转载。 更多内容,欢迎点击本专栏,查看更多内容。 目录 0 引言 1 改进原理 2 本文改进方法 3 改进蛇优化VGG13SE的故障诊断模型 4 结语 0 引言 在【博客】中,我们采用了蛇算法来对VGG1…...
Vue + Scss项目中实现自定义颜色主题的动态切换
当时面试的时候遇到面试官问的一个问题如何实现自定义颜色主题切换,当时我做的只是elementUIPlus提供的暗黑和默认主题切换 theme.scss // 增加自定义主题类型 $themes: (light: (/* 原有配置保持不变 */),dark: (/* 原有配置保持不变 */),custom: () // 空映射…...
C#实现HiveQL建表语句中特殊数据类型的包裹
用C#实现搜索字符串中用’(‘和’)‘包裹的最外层的里面里面的字符串,将里面的记录按一个或多个空格、换行或tab,或者是它的在一起的组合作为分隔,分隔出多个字符串组,如果组中有字符串中同时包含’<‘和’>’,则…...
27 python 标准库概览
在办公室里,每个员工都有一套预装的办公软件:Word 处理文档、Excel 制作表格、Outlook 收发邮件... Python 的标准库就像公司预装的 "办公全家桶",包含 100 多个模块,覆盖文件操作、时间管理、数据分析等日常需求,无需额外安装即可直接使用。 一、文件管理 1.…...
whisper 语音识别的安装与使用
Whisper 是由OpenAI开发的开源自动语音识别(ASR)模型,不仅支持音频转录,还可以用于视频转录。通过调用ffmpeg处理视频,支持主流音视频格式的转录。 安装 安装ffmpeg:下载ffmpeg,Releases B…...
搜广推校招面经六十四
滴滴搜推算法 一、定义一个树结构、特征结构。写一个决策树对样本打分 逆天啊,上来就是暴击 import numpy as np class TreeNode:def __init__(self, feature_indexNone, thresholdNone, leftNone, rightNone, scoreNone):self.feature_index feature_index #…...
zabbix监控网站(nginx、redis、mysql)
目录 前提准备: zabbix-server主机配置: 1. 安装数据库 nginx主机配置: 1. 安装nginx redis主机配置: 1. 安装redis mysql主机配置: 1. 安装数据库 zabbix-server: 1. 安装zabbix 2. 编辑配置文…...
动态规划,如何应用动态规划解决实际问题?
一、动态规划核心概念 动态规划是一种分阶段解决问题的数学方法,它将复杂问题分解为更小的子问题,通过存储子问题的解来避免重复计算。 关键特征: 最优子结构:问题的最优解包含子问题的最优解重叠子问题:问题可…...
常见操作系统特点及区别对比
操作系统名称类型特点主要用途许可证类型内核类型Windows桌面/服务器图形界面友好,软件生态丰富,闭源个人电脑、企业办公专有商业许可混合内核macOS桌面 (Unix-like)高度优化的硬件整合,Unix基础,闭源创意设计、开发专有商业许可混…...
【资讯分享】为Apple Intelligence打造的有效屏障:“隐私保护气泡”
导读:苹果在WWDC大会上推出Apple Intelligence,主打个性化智能服务,深度整合iOS生态,支持跨App操作与内容感知。通过本地计算与私密云计算(PCC)技术实现端到端加密,确保数据匿名化处理与高透明度…...
AT_abc306_b [ABC306B] Base 2
题目描述 给定一个长度为64的序列A(A\_0,A\_1,\dots,A\_{63})A(A_0,A_1,…,A_63),由0和1组成。 求A\_0 2^0 A\_1 2^1 \dots A\_{63} 2^{63}A_020A_121⋯A_63263。 约束条件 A\_iA_i是0或1。 输入 从标准输入中以以下格式给出输入: A_0A0 A_1A…...
C++IO流类库
一、输入输出流(I/O strea) 编译系统已经以运算符或函数的形式做好了对标准外设(键盘、屏幕、打印机、文件)的接口,使用时只需按照要求的格式调用即可。 cin>>x; cout<<x; cin.get(ch); C语言的I/O系统向用户提供一个统一…...
常见的锁策略+synchronized(特性解释)
该篇文章主要是对常见的锁策略的总结(主要的作用是扫盲),如想要了解其他部分,这部分可以不用看 目录 一、常见的锁策略1. 悲观锁vs乐观锁举例: 2. 重量级锁vs轻量级锁3. 挂起等待锁vs自旋锁举例 4.普通互斥锁vs读写锁…...
spring打包,打包错误
打包(idea) 通过点击井盖样式的符号可以将test测试类取消打包进去 点击“M”,双击package即可打包 打包出错 ❯ java -jar /home/ying/Documents/java_workspace/spring-01-ioc/target/spring-01-ioc-0.0.1-SNAPSHOT.jar Error: LinkageError occurred while loadi…...
【Linux系统】进程间通信-System V消息队列
🎁个人主页:我们的五年 🔍系列专栏:Linux网络编程 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 Linux网络系列文章计算机网络(Linux网…...
DeepSeek×擎创科技:当智能运维遇见大模型「懂行」革命
运维人最懂「动态阈值」的痛 在数字化转型浪潮中,运维监控正经历从"人工经验"到"智能决策"的跃迁。传统动态阈值设置依赖人工分析历史数据、反复调整规则的模式,既难以应对业务波动性,又消耗大量技术资源。 擎创科技基…...
手绘风格流程图工具:简单高效的在线流程图绘制工具
手绘风格流程图:简单高效的在线流程图绘制工具 🎉 项目介绍 大家好!我很高兴向大家分享我最近开发的一个项目 —— 在线绘制手绘风格流程图,这是一个简单高效的在线流程图绘制工具。无论是整理思路、规划项目还是准备演示&#…...
leetcode287.寻找重复数
与寻找链表环的起始点一样 ,用快慢指针让二者相遇后,慢指针回到起始点二者以同样速度移动最终会在环的起始点相遇 class Solution {public int findDuplicate(int[] nums) {int slow nums[0], fast nums[0];do {slow nums[slow];fast nums[nums[fas…...
error LNK2019: 无法解析的外部符号 __imp__XXXX,该符号在函数xxxxx中被引用
这个链接错误表明在编译过程中,链接器无法找到 XXXX 函数的实现。以下是解决这个问题的步骤: 可能的原因和解决方案: 函数声明与实现不匹配: 检查 XXXX 函数的声明和实现是否完全一致(包括返回类型、参数列表和调用约…...
【LeetCode基础算法】二叉树所有类型
1.遍历二叉树 二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历叶子相似的树 1288 LCP 44. 开幕式焰火左叶子之和 2.自顶向下DFS 二叉树的最大深度二叉树的最小深度路径总和求根节点到叶节点数字之和二叉树的右视图统计二叉树中好节点的数目 1360 3.自底向上 DFS 二叉树…...
AIGC5——AIGC的伦理与法律挑战:数据隐私、真实性危机与版权治理
引言 随着生成式AI(AIGC)的爆发式增长,其引发的伦理与法律问题日益凸显。从数据隐私泄露到AI幻觉导致的虚假信息,再到训练数据版权争议,AIGC正在挑战现有法律框架与社会信任体系。本文将系统分析三大核心问题…...
LLM架构解析:词嵌入模型 Word Embeddings(第二部分)—— 从基础原理到实践应用的深度探索
本专栏深入探究从循环神经网络(RNN)到Transformer等自然语言处理(NLP)模型的架构,以及基于这些模型构建的应用程序。 本系列文章内容: NLP自然语言处理基础词嵌入(Word Embeddings)…...
marked库(高效将 Markdown 转换为 HTML 的利器)
文章目录 前言使用基本使用自定义渲染器例子 代码高亮 前言 最近尝试了一下通过星火大模型将ai引入到项目上,但是ai返回的数据可以显而易见的发现是markedown语法的,那么就需要一个工具,将类似这种的格式转换为markdown格式 Marked 是一个用…...
Vue3 + Element Plus + AntV X6 实现拖拽树组件
Vue3 Element Plus AntV X6 实现拖拽树组件 介绍 在本篇文章中,我们将介绍如何使用 Vue 3 和 Element Plus 结合 antv/x6 实现树形结构的拖拽功能。用户可以将树节点拖拽到图形区域,自动创建相应的节点。我们将会通过简单的示例来一步步讲解实现过程…...