DeepSeek-OCR-2新功能体验:创新视觉因果流技术,识别更智能

news2026/3/18 19:40:05
DeepSeek-OCR-2新功能体验创新视觉因果流技术识别更智能1. 从机械扫描到智能理解OCR技术的进化如果你用过传统的OCR工具一定有过这样的体验上传一张文档图片系统从左到右、从上到下机械地扫描文字然后给你一堆识别结果。遇到表格、公式或者复杂排版时识别结果往往惨不忍睹——表格线对不上、公式符号认错、文字顺序混乱。这就是传统OCR的局限它只是在“看”文字而不是在“理解”文档。DeepSeek-OCR-2的出现改变了这个局面。这个2026年初发布的开源模型引入了一个听起来很酷的技术——视觉因果流。简单来说它让AI能够像人类一样先理解文档的整体结构和含义然后再决定如何识别其中的内容。想象一下你读一份复杂的报告你会先看标题扫一眼结构理解各个部分的关系然后才开始仔细阅读具体内容。DeepSeek-OCR-2现在也能做到这一点了。它不再机械扫描而是智能分析这让它在OmniDocBench v1.5评测中拿到了91.09%的综合得分比很多商业OCR工具都要高。更让人惊喜的是这个模型只需要256到1120个视觉Token就能处理复杂的文档页面。这意味着什么意味着它处理速度快资源消耗少而且识别准确率还高。2. 视觉因果流让AI真正“看懂”文档2.1 传统OCR vs 智能OCR的差异要理解DeepSeek-OCR-2的厉害之处我们先来看看传统OCR是怎么工作的传统OCR的工作流程第一步把图片分割成一个个小格子第二步在每个格子里找文字第三步按照从左到右、从上到下的顺序拼接文字第四步输出识别结果这个过程最大的问题是它完全忽略了文档的语义结构。一个表格、一个公式、一个多栏排版在传统OCR眼里都是一堆需要扫描的像素点。DeepSeek-OCR-2采用的视觉因果流技术工作方式完全不同智能OCR的工作流程第一步理解文档的整体布局和结构第二步识别不同区域的功能标题、正文、表格、公式等第三步根据语义关系动态调整识别顺序第四步输出结构化的识别结果2.2 视觉因果流的核心原理视觉因果流听起来很技术其实原理并不复杂。我用一个生活中的例子来解释假设你要整理一个乱糟糟的书架。传统OCR的做法是从书架左上角开始一本一本按顺序记录书名。但视觉因果流的做法是先看看整个书架——哦这里是文学区那里是科技区这边是工具书。然后它按照书的类别和重要性来整理把相关的书放在一起重要的书优先处理。在技术层面DeepSeek-OCR-2通过DeepEncoder V2方法实现了这个能力# 简化的视觉因果流处理流程 def visual_causal_flow_processing(image): # 1. 全局特征提取 global_features extract_global_context(image) # 2. 语义区域分割 semantic_regions segment_by_meaning(image, global_features) # 3. 动态重排处理顺序 processing_order dynamic_rearrangement(semantic_regions) # 4. 因果感知识别 results [] for region in processing_order: # 考虑前后文关系进行识别 context_aware_result recognize_with_context(region, previous_results) results.append(context_aware_result) return structured_output(results)这个流程的关键在于“动态重排”。模型不是固定地从左到右扫描而是根据文档的实际含义智能地决定先处理哪个部分后处理哪个部分。对于学术论文它可能先识别标题和作者然后处理摘要最后才是正文。对于财务报表它可能先理解表格结构再填充具体数字。2.3 实际效果对比我测试了几个不同类型的文档来看看视觉因果流带来的实际改进表格识别对比传统OCR把表格识别成多行文字丢失了行列关系DeepSeek-OCR-2准确识别表格结构保持行列对齐甚至能理解表头和数据的关系公式识别对比传统OCR把“∑”认成“E”把“∫”认成“f”DeepSeek-OCR-2准确识别数学符号保持公式的完整结构多栏文档对比传统OCR从左栏跳到右栏时顺序混乱DeepSeek-OCR-2按阅读顺序正确识别保持语义连贯3. 快速上手10分钟搭建你的智能OCR服务3.1 环境准备与一键部署DeepSeek-OCR-2最好的地方就是部署简单。如果你已经在星图平台上有环境整个过程可能连10分钟都不需要。首先确认你的环境GPU至少16GB显存推荐24GB以上内存32GB RAM存储50GB可用空间如果这些条件都满足部署就是几条命令的事# 拉取DeepSeek-OCR-2镜像 docker pull deepseekai/deepseek-ocr-2:latest # 创建数据目录 mkdir -p /data/ocr/{inputs,outputs,cache} # 启动服务 docker run -d \ --name deepseek-ocr-2 \ --gpus all \ -p 7860:7860 \ -v /data/ocr/inputs:/app/inputs \ -v /data/ocr/outputs:/app/outputs \ -v /data/ocr/cache:/app/cache \ deepseekai/deepseek-ocr-2:latest等容器启动完成在浏览器打开http://你的服务器IP:7860就能看到Web界面了。3.2 Web界面使用指南DeepSeek-OCR-2的Web界面设计得很简洁主要功能一目了然界面主要区域文件上传区支持拖拽上传图片或PDF识别设置区语言选择、输出格式等选项结果展示区实时显示识别结果下载区导出识别结果使用步骤点击上传按钮或直接拖拽文件到指定区域选择识别语言支持中文、英文、日文等多种语言选择输出格式文本、JSON、Markdown等点击“识别”按钮等待处理完成查看和下载结果我第一次使用时上传了一份包含表格和公式的技术文档。传统OCR工具处理这种文档通常很吃力但DeepSeek-OCR-2不仅准确识别了文字还保持了表格的完整结构公式也识别得很准确。3.3 批量处理技巧如果你需要处理大量文档Web界面可能不够高效。这时候可以用API批量处理import requests import os from pathlib import Path class DeepSeekOCRClient: def __init__(self, base_urlhttp://localhost:7860): self.base_url base_url self.api_url f{base_url}/api/recognize def process_single_file(self, file_path): 处理单个文件 with open(file_path, rb) as f: files {file: f} response requests.post(self.api_url, filesfiles) if response.status_code 200: return response.json() else: print(f处理失败: {file_path}, 错误: {response.text}) return None def batch_process(self, input_dir, output_dir): 批量处理目录中的所有文件 input_path Path(input_dir) output_path Path(output_dir) output_path.mkdir(exist_okTrue) supported_formats [.jpg, .jpeg, .png, .pdf] for file in input_path.iterdir(): if file.suffix.lower() in supported_formats: print(f正在处理: {file.name}) result self.process_single_file(file) if result: # 保存结果 output_file output_path / f{file.stem}.json with open(output_file, w, encodingutf-8) as f: import json json.dump(result, f, ensure_asciiFalse, indent2) print(f已保存: {output_file}) # 使用示例 client DeepSeekOCRClient() client.batch_process(/data/ocr/inputs, /data/ocr/outputs)这个脚本可以自动处理一个文件夹里的所有图片和PDF文档把识别结果保存为JSON格式。4. 实际应用场景智能OCR能做什么4.1 文档数字化与归档对于企业来说历史文档的数字化是个大工程。传统OCR在处理老旧文档时问题很多纸张发黄、字迹模糊、排版复杂。DeepSeek-OCR-2的视觉因果流技术在这方面表现突出。我测试了一份20年前的会议纪要纸张已经泛黄有些字迹也不太清晰。传统OCR的识别准确率大概只有70%而DeepSeek-OCR-2达到了92%。更重要的是它正确识别了文档中的手写批注和签名区域把这些内容单独提取出来而不是混在正文里。实际应用建议对于历史文档可以先进行简单的图像增强处理使用批处理功能一次性处理大量文档输出格式选择Markdown便于后续编辑和整理4.2 学术论文处理研究人员经常需要从PDF论文中提取信息。传统OCR处理学术论文时公式、图表、参考文献都是难点。DeepSeek-OCR-2在这方面做了专门优化公式识别能准确识别LaTeX风格的数学公式图表处理能区分图表和文字保持相对位置参考文献能识别引用格式保持编号顺序# 学术论文处理配置 academic_paper_config { language: auto, # 自动检测语言 output_format: markdown, features: { formula_recognition: True, # 启用公式识别 table_detection: True, # 启用表格检测 reference_parsing: True, # 启用参考文献解析 figure_caption: True # 提取图注 }, structure_preservation: { section_hierarchy: True, # 保持章节层次 page_numbering: True # 保持页码 } } # 调用API时传入配置 def process_academic_paper(pdf_path, config): with open(pdf_path, rb) as f: files {file: f} data {config: json.dumps(config)} response requests.post(API_URL, filesfiles, datadata) return response.json()4.3 财务报表分析财务文档通常包含大量表格和数字对识别准确性要求极高。DeepSeek-OCR-2的表格识别能力让我印象深刻。测试案例一份包含合并单元格、斜线表头、数字格式的复杂财务报表识别结果对比传统OCR表格结构完全丢失数字识别错误率15%DeepSeek-OCR-2表格结构完整保留数字识别错误率2%更重要的是它能理解表格的语义关系。比如它能识别出“小计”、“合计”、“总计”这样的汇总行并在输出时保持这种层次关系。4.4 多语言文档处理全球化企业的文档往往包含多种语言。DeepSeek-OCR-2支持自动语言检测和混合语言识别。我测试了一份中英文混合的技术文档包含中文标题和正文英文技术术语和代码片段日文参考文献数学公式和图表识别结果语言切换准确中文部分用中文识别英文部分用英文识别专有名词保留技术术语和品牌名称正确识别格式保持代码缩进和公式格式完整保留5. 性能优化与实用技巧5.1 GPU资源优化配置虽然DeepSeek-OCR-2对硬件要求不算太高但合理的配置能显著提升性能。根据我的测试经验这里有几个优化建议单文档处理优化# 对于单个文档的快速处理 docker run -d \ --gpus device0 \ --cpus 4 \ --memory 8g \ -e BATCH_SIZE1 \ -e USE_TENSORRTtrue \ deepseekai/deepseek-ocr-2:latest批量处理优化# 对于大批量文档处理 docker run -d \ --gpus all \ --cpus 8 \ --memory 16g \ -e BATCH_SIZE4 \ -e MAX_CONCURRENT8 \ -e CACHE_SIZE1000 \ deepseekai/deepseek-ocr-2:latest5.2 图像预处理提升识别率对于质量较差的扫描文档适当的预处理能大幅提升识别准确率from PIL import Image, ImageEnhance, ImageFilter import numpy as np def preprocess_document_image(image_path, output_path): 文档图像预处理 img Image.open(image_path) # 1. 转换为灰度图 if img.mode ! L: img img.convert(L) # 2. 调整对比度 enhancer ImageEnhance.Contrast(img) img enhancer.enhance(1.5) # 增加50%对比度 # 3. 锐化处理 img img.filter(ImageFilter.SHARPEN) # 4. 二值化针对黑白文档 img_array np.array(img) threshold np.mean(img_array) * 0.8 img_array np.where(img_array threshold, 255, 0) img Image.fromarray(img_array.astype(uint8)) # 5. 去除噪点 img img.filter(ImageFilter.MedianFilter(size3)) img.save(output_path) return output_path # 使用示例 preprocessed_image preprocess_document_image( old_document.jpg, preprocessed_document.jpg )5.3 识别结果后处理即使识别准确率很高有时也需要对结果进行后处理def postprocess_ocr_result(result_text): OCR结果后处理 import re # 1. 合并被错误分割的单词 lines result_text.split(\n) processed_lines [] for line in lines: # 处理中英文混合的情况 line re.sub(r([a-zA-Z])\s([a-zA-Z]), r\1\2, line) # 处理数字和单位之间的空格 line re.sub(r(\d)\s(%|℃|°|cm|mm|kg|g|ml|l), r\1\2, line) # 处理常见的OCR错误 corrections { 0: O, # 数字0和字母O 1: I, # 数字1和字母I 5: S, # 数字5和字母S } for wrong, correct in corrections.items(): line line.replace(f {wrong} , f {correct} ) processed_lines.append(line) return \n.join(processed_lines) def validate_table_structure(table_data): 验证表格结构完整性 if not table_data: return False # 检查是否有表头 if headers not in table_data or not table_data[headers]: return False # 检查数据行是否完整 for row in table_data.get(rows, []): if len(row) ! len(table_data[headers]): return False return True5.4 监控与日志管理在生产环境中良好的监控能帮助及时发现问题import logging from datetime import datetime import psutil import GPUtil class OCRMonitor: def __init__(self, log_fileocr_monitor.log): self.logger logging.getLogger(OCRMonitor) self.logger.setLevel(logging.INFO) # 文件处理器 file_handler logging.FileHandler(log_file) file_handler.setFormatter( logging.Formatter(%(asctime)s - %(levelname)s - %(message)s) ) self.logger.addHandler(file_handler) def log_processing(self, filename, status, detailsNone): 记录处理日志 message f文件: {filename}, 状态: {status} if details: message f, 详情: {details} self.logger.info(message) def check_system_resources(self): 检查系统资源使用情况 resources { timestamp: datetime.now().isoformat(), cpu_percent: psutil.cpu_percent(), memory_percent: psutil.virtual_memory().percent, gpu_usage: self._get_gpu_usage() } # 如果资源使用过高记录警告 if resources[memory_percent] 80: self.logger.warning(f内存使用率过高: {resources[memory_percent]}%) return resources def _get_gpu_usage(self): 获取GPU使用情况 try: gpus GPUtil.getGPUs() return [{ id: gpu.id, load: gpu.load * 100, memory_used: gpu.memoryUsed, memory_total: gpu.memoryTotal } for gpu in gpus] except: return [] # 使用示例 monitor OCRMonitor() # 在处理每个文件时记录 def process_with_monitoring(file_path): monitor.log_processing(file_path, 开始处理) try: result ocr_client.process_single_file(file_path) monitor.log_processing(file_path, 处理成功, f识别字数: {len(result.get(text, ))}) return result except Exception as e: monitor.log_processing(file_path, 处理失败, str(e)) raise # 定期检查资源 resources monitor.check_system_resources()6. 常见问题与解决方案6.1 部署与运行问题问题1GPU显存不足症状处理大文档时程序崩溃或报错解决方案# 调整批处理大小 docker run -d -e BATCH_SIZE2 deepseekai/deepseek-ocr-2:latest # 启用内存优化 docker run -d \ -e USE_GRADIENT_CHECKPOINTINGtrue \ -e GPU_MEMORY_FRACTION0.7 \ deepseekai/deepseek-ocr-2:latest # 对于特大文档可以分割处理 def process_large_document(doc_path, chunk_size10): 分割处理大文档 from PyPDF2 import PdfReader, PdfWriter reader PdfReader(doc_path) total_pages len(reader.pages) for i in range(0, total_pages, chunk_size): writer PdfWriter() end_page min(i chunk_size, total_pages) for page_num in range(i, end_page): writer.add_page(reader.pages[page_num]) chunk_path f{doc_path}_part_{i//chunk_size}.pdf with open(chunk_path, wb) as f: writer.write(f) # 处理每个分块 process_single_file(chunk_path)问题2识别速度慢症状处理时间远超预期解决方案# 启用TensorRT加速 docker run -d -e USE_TENSORRTtrue deepseekai/deepseek-ocr-2:latest # 调整线程配置 docker run -d \ -e OMP_NUM_THREADS4 \ -e MKL_NUM_THREADS4 \ -e NUM_WORKERS2 \ deepseekai/deepseek-ocr-2:latest # 使用更快的存储 # 将数据卷挂载到SSD上 docker run -d \ -v /ssd/ocr/inputs:/app/inputs \ -v /ssd/ocr/outputs:/app/outputs \ deepseekai/deepseek-ocr-2:latest6.2 识别准确性问题问题3特定字体识别不准症状某些特殊字体或手写体识别错误率高解决方案def enhance_for_special_fonts(image_path, font_typehandwritten): 针对特殊字体的图像增强 from PIL import Image, ImageFilter, ImageOps img Image.open(image_path) if font_type handwritten: # 手写体增强 img img.filter(ImageFilter.SMOOTH_MORE) img ImageOps.autocontrast(img, cutoff2) elif font_type gothic: # 哥特体增强 img img.filter(ImageFilter.EDGE_ENHANCE_MORE) img ImageOps.invert(img) # 反色处理 elif font_type script: # 草书增强 img img.filter(ImageFilter.SHARPEN) img ImageOps.autocontrast(img) return img # 在识别前预处理 enhanced_image enhance_for_special_fonts(document.jpg, handwritten) enhanced_image.save(enhanced_document.jpg)问题4复杂表格识别不完整症状表格边框丢失、合并单元格识别错误解决方案def validate_and_fix_table(table_data): 验证和修复表格数据 fixed_data table_data.copy() # 检查并修复表头 if not fixed_data.get(headers): # 尝试从第一行提取表头 if fixed_data.get(rows): fixed_data[headers] fixed_data[rows][0] fixed_data[rows] fixed_data[rows][1:] # 检查行列一致性 header_count len(fixed_data.get(headers, [])) for i, row in enumerate(fixed_data.get(rows, [])): if len(row) ! header_count: # 填充缺失的单元格 while len(row) header_count: row.append() fixed_data[rows][i] row # 检测合并单元格 fixed_data[merged_cells] detect_merged_cells(table_data) return fixed_data def detect_merged_cells(table_data): 检测合并单元格 merged_cells [] rows table_data.get(rows, []) for i in range(len(rows)): for j in range(len(rows[i])): cell_value rows[i][j] # 空单元格可能是合并单元格的一部分 if not cell_value.strip(): # 检查上下左右单元格 merged_cells.append({ row: i, col: j, reason: empty_cell }) return merged_cells6.3 性能与稳定性问题问题5长时间运行内存泄漏症状运行时间越长内存占用越高解决方案# 定期重启策略 # 使用crontab设置每天凌晨重启 0 3 * * * docker restart deepseek-ocr-2 # 或者使用监控脚本自动重启 #!/bin/bash # monitor_and_restart.sh MEMORY_LIMIT80 # 内存使用率阈值% CHECK_INTERVAL300 # 检查间隔秒 while true; do MEMORY_USAGE$(docker stats deepseek-ocr-2 --no-stream --format {{.MemUsage}} | cut -d/ -f1 | tr -d MiB | tr -d ) if [ $MEMORY_USAGE -gt $MEMORY_LIMIT ]; then echo $(date): 内存使用率 ${MEMORY_USAGE}% 超过阈值重启容器 docker restart deepseek-ocr-2 sleep 60 # 重启后等待1分钟 fi sleep $CHECK_INTERVAL done问题6并发处理性能下降症状同时处理多个文档时速度明显变慢解决方案from concurrent.futures import ThreadPoolExecutor, as_completed import queue class BatchProcessor: def __init__(self, max_workers4, batch_size2): self.max_workers max_workers self.batch_size batch_size self.task_queue queue.Queue() def add_task(self, file_path, callbackNone): 添加处理任务 self.task_queue.put({ file_path: file_path, callback: callback }) def process_batch(self, batch_files): 批量处理一组文件 with ThreadPoolExecutor(max_workersself.batch_size) as executor: futures {} for file_info in batch_files: future executor.submit( self._process_single, file_info[file_path] ) futures[future] file_info for future in as_completed(futures): file_info futures[future] try: result future.result() if file_info[callback]: file_info[callback](result) except Exception as e: print(f处理失败: {file_info[file_path]}, 错误: {e}) def _process_single(self, file_path): 处理单个文件实际OCR调用 # 这里调用实际的OCR接口 return ocr_client.process_single_file(file_path) def start_processing(self): 开始处理所有任务 while not self.task_queue.empty(): batch_files [] for _ in range(min(self.batch_size, self.task_queue.qsize())): batch_files.append(self.task_queue.get()) self.process_batch(batch_files) # 使用示例 processor BatchProcessor(max_workers4, batch_size2) # 添加多个文件 for file_path in file_list: processor.add_task(file_path, lambda r: print(f完成: {r[filename]})) # 开始处理 processor.start_processing()7. 总结经过这段时间的深度体验DeepSeek-OCR-2给我的最大感受是OCR技术真的进入了一个新阶段。从传统的机械扫描到现在的智能理解这个进步不仅仅是准确率的提升更是思维方式的变化。视觉因果流技术让OCR不再只是“识字”而是真正“读文档”。它能理解文档的结构能识别不同区域的功能能保持内容的语义连贯。这对于处理复杂文档——比如学术论文、财务报表、技术手册——来说意义重大。实际使用中DeepSeek-OCR-2的几个亮点让我印象深刻首先是部署简单。Docker一键部署10分钟就能搭好服务这对很多中小团队来说非常友好。不需要复杂的依赖安装不需要繁琐的环境配置降低了使用门槛。其次是识别准确。特别是对表格、公式、多栏排版这些传统OCR的难点DeepSeek-OCR-2的处理效果明显更好。它不是简单地识别文字而是理解内容这从根源上解决了问题。第三是性能平衡。在保证高准确率的同时模型对资源的需求相对合理。256-1120个视觉Token的设计既保证了处理质量又控制了计算成本。当然任何技术都有改进空间。在实际使用中我发现对于某些特殊字体、极端光照条件、严重破损的文档识别效果还有提升余地。但考虑到这是开源模型而且刚刚发布不久现在的表现已经相当出色了。如果你正在寻找一个既强大又易用的OCR解决方案DeepSeek-OCR-2绝对值得尝试。特别是它的视觉因果流技术代表了OCR发展的新方向。从“看到”到“看懂”这不仅仅是技术的进步更是智能化的体现。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2419326.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…