GLM-OCR Python调用实战:批量处理文件夹内所有扫描件并导出Excel

# GLM-OCR Python调用实战:批量处理文件夹内所有扫描件并导出Excel > **注意**:本文基于 CSDN 星图镜像广场的 GLM-OCR 镜像环境编写,所有代码示例均在该环境中测试通过。 ## 1. 项目概述与使用场景 GLM-OCR 是一个基于先进多模态架构的高性能 OCR 识别模型,专门针对复杂文档理解场景设计。相比传统 OCR 工具,它在处理表格、公式和复杂排版文档方面表现出色。 在实际工作中,我们经常遇到这样的需求:需要批量处理大量扫描文档,提取其中的结构化信息,并整理成 Excel 表格。传统的手工处理方式效率极低,而 GLM-OCR 提供了完美的自动化解决方案。 **适用场景包括**: - 财务部门处理大量发票和报销单 - 人事部门整理员工档案和证件信息 - 教育机构数字化历史试卷和文档 - 企业文档管理系统的批量录入 ## 2. 环境准备与快速启动 ### 2.1 确认环境状态 首先检查 GLM-OCR 服务是否正常运行: ```bash # 检查服务状态 ps aux | grep gradio # 查看端口占用 netstat -tlnp | grep 7860 ``` 如果服务未启动,使用以下命令启动: ```bash cd /root/GLM-OCR ./start_vllm.sh ``` 首次启动需要加载模型,大约需要 1-2 分钟。启动成功后,可以通过浏览器访问 `http://localhost:7860` 确认服务正常。 ### 2.2 安装必要依赖 确保环境中已安装所需的 Python 库: ```python import sys print(f"Python 版本: {sys.version}") # 检查关键库是否安装 try: from gradio_client import Client import pandas as pd print("所有依赖库已就绪") except ImportError as e: print(f"缺少依赖: {e}") ``` 如果缺少库,可以使用以下命令安装: ```bash /opt/miniconda3/envs/py310/bin/pip install pandas openpyxl ``` ## 3. 批量处理核心代码实现 ### 3.1 基础单张图片处理函数 我们先实现一个处理单张图片的函数,这是批量处理的基础: ```python from gradio_client import Client import os import time def process_single_image(image_path, task_type="Text Recognition"): """ 处理单张图片并返回识别结果 参数: image_path: 图片文件路径 task_type: 任务类型,可选 "Text Recognition", "Table Recognition", "Formula Recognition" 返回: str: 识别结果文本 """ try: # 连接 GLM-OCR 服务 client = Client("http://localhost:7860") # 根据任务类型选择提示词 prompt_map = { "Text Recognition": "Text Recognition:", "Table Recognition": "Table Recognition:", "Formula Recognition": "Formula Recognition:" } prompt = prompt_map.get(task_type, "Text Recognition:") # 调用 API 进行识别 result = client.predict( image_path=image_path, prompt=prompt, api_name="/predict" ) return result except Exception as e: print(f"处理图片 {image_path} 时出错: {e}") return None # 测试单张图片处理 test_result = process_single_image("/path/to/test_image.png") print("测试结果:", test_result) ``` ### 3.2 批量处理文件夹内所有图片 接下来实现批量处理功能,支持多种图片格式: ```python import glob from tqdm import tqdm import pandas as pd def batch_process_folder(folder_path, task_type="Text Recognition", output_excel=None): """ 批量处理文件夹内的所有图片 参数: folder_path: 文件夹路径 task_type: 任务类型 output_excel: 输出Excel文件路径(可选) 返回: DataFrame: 包含所有识别结果的数据框 """ # 支持的文件格式 supported_formats = ['*.png', '*.jpg', '*.jpeg', '*.webp'] # 收集所有图片文件 image_files = [] for fmt in supported_formats: image_files.extend(glob.glob(os.path.join(folder_path, fmt))) print(f"找到 {len(image_files)} 个图片文件") results = [] # 使用进度条显示处理进度 for image_file in tqdm(image_files, desc="处理图片"): # 处理每张图片 result_text = process_single_image(image_file, task_type) if result_text: results.append({ '文件名': os.path.basename(image_file), '文件路径': image_file, '识别内容': result_text, '处理时间': time.strftime('%Y-%m-%d %H:%M:%S') }) # 添加短暂延迟,避免服务器过载 time.sleep(0.1) # 创建DataFrame df = pd.DataFrame(results) # 如果指定了输出文件,保存为Excel if output_excel: try: df.to_excel(output_excel, index=False, engine='openpyxl') print(f"结果已保存到: {output_excel}") except Exception as e: print(f"保存Excel文件时出错: {e}") return df # 使用示例 folder_path = "/path/to/your/scanned_documents" output_file = "/path/to/output/results.xlsx" result_df = batch_process_folder( folder_path=folder_path, task_type="Text Recognition", output_excel=output_file ) ``` ### 3.3 高级功能:表格结构化处理 对于表格识别,我们可以进一步处理结果,提取结构化数据: ```python import re import json def extract_table_data(ocr_result): """ 从表格识别结果中提取结构化数据 参数: ocr_result: GLM-OCR 的表格识别结果 返回: list: 结构化表格数据 """ try: # GLM-OCR 的表格识别结果通常是Markdown格式的表格 # 尝试解析表格数据 lines = ocr_result.strip().split('\n') table_data = [] for line in lines: # 跳过表格分隔行 if re.match(r'^\|?[-:|]+\|?$', line): continue # 解析表格行 if line.startswith('|') and line.endswith('|'): # 移除首尾的 | 并按 | 分割 cells = [cell.strip() for cell in line[1:-1].split('|')] table_data.append(cells) return table_data except Exception as e: print(f"解析表格数据时出错: {e}") return [] def process_tables_to_excel(folder_path, output_excel): """ 专门处理表格图片并导出到Excel 参数: folder_path: 包含表格图片的文件夹路径 output_excel: 输出Excel文件路径 """ # 批量处理表格识别 df = batch_process_folder(folder_path, "Table Recognition", None) all_tables = [] for index, row in df.iterrows(): table_data = extract_table_data(row['识别内容']) if table_data: # 为每个表格创建一个工作表 table_df = pd.DataFrame(table_data[1:], columns=table_data[0]) all_tables.append({ 'source_file': row['文件名'], 'table_data': table_df }) # 将多个表格保存到同一个Excel的不同工作表 with pd.ExcelWriter(output_excel, engine='openpyxl') as writer: for i, table_info in enumerate(all_tables): sheet_name = f"Table_{i+1}_{table_info['source_file']}"[:31] # Excel工作表名最长31字符 table_info['table_data'].to_excel(writer, sheet_name=sheet_name, index=False) print(f"共处理 {len(all_tables)} 个表格,已保存到: {output_excel}") # 使用示例 process_tables_to_excel("/path/to/table_images", "/path/to/tables_output.xlsx") ``` ## 4. 完整实战案例 下面是一个完整的实战脚本,展示了如何批量处理文件夹内的扫描件: ```python #!/usr/bin/env python3 """ GLM-OCR 批量处理扫描件脚本 作者: [你的名字] 日期: 2024 """ import os import argparse from datetime import datetime from gradio_client import Client import pandas as pd import glob from tqdm import tqdm import time class GLMOCRProcessor: def __init__(self, server_url="http://localhost:7860"): self.client = Client(server_url) self.prompt_map = { "text": "Text Recognition:", "table": "Table Recognition:", "formula": "Formula Recognition:" } def process_batch(self, input_folder, task_type="text", output_file=None): """ 批量处理文件夹内的所有图片 """ # 检查输入文件夹 if not os.path.exists(input_folder): raise ValueError(f"输入文件夹不存在: {input_folder}") # 收集图片文件 image_files = self._find_image_files(input_folder) if not image_files: print("未找到支持的图片文件") return None print(f"找到 {len(image_files)} 个图片文件,开始处理...") results = [] success_count = 0 for image_file in tqdm(image_files, desc="处理进度"): try: result_text = self._process_single(image_file, task_type) if result_text: results.append({ '文件名': os.path.basename(image_file), '完整路径': image_file, '识别内容': result_text, '处理状态': '成功', '处理时间': datetime.now().strftime('%Y-%m-%d %H:%M:%S') }) success_count += 1 else: results.append({ '文件名': os.path.basename(image_file), '完整路径': image_file, '识别内容': '', '处理状态': '失败', '处理时间': datetime.now().strftime('%Y-%m-%d %H:%M:%S') }) except Exception as e: print(f"处理文件 {image_file} 时发生错误: {e}") results.append({ '文件名': os.path.basename(image_file), '完整路径': image_file, '识别内容': f"错误: {str(e)}", '处理状态': '失败', '处理时间': datetime.now().strftime('%Y-%m-%d %H:%M:%S') }) # 短暂延迟,避免服务器压力过大 time.sleep(0.1) # 创建结果DataFrame df = pd.DataFrame(results) # 保存结果 if output_file: self._save_results(df, output_file) print(f"处理完成! 成功: {success_count}/{len(image_files)}") return df def _find_image_files(self, folder_path): """查找文件夹内的所有图片文件""" supported_formats = ['*.png', '*.jpg', '*.jpeg', '*.webp'] image_files = [] for fmt in supported_formats: pattern = os.path.join(folder_path, '**', fmt) image_files.extend(glob.glob(pattern, recursive=True)) return image_files def _process_single(self, image_path, task_type): """处理单张图片""" prompt = self.prompt_map.get(task_type, "Text Recognition:") result = self.client.predict( image_path=image_path, prompt=prompt, api_name="/predict" ) return result def _save_results(self, df, output_file): """保存结果到文件""" if output_file.endswith('.xlsx'): df.to_excel(output_file, index=False, engine='openpyxl') elif output_file.endswith('.csv'): df.to_csv(output_file, index=False, encoding='utf-8-sig') else: raise ValueError("输出文件格式不支持,请使用 .xlsx 或 .csv") def main(): parser = argparse.ArgumentParser(description='GLM-OCR 批量处理工具') parser.add_argument('input_folder', help='包含扫描件的文件夹路径') parser.add_argument('--output', '-o', required=True, help='输出文件路径(.xlsx或.csv)') parser.add_argument('--task', '-t', choices=['text', 'table', 'formula'], default='text', help='任务类型: text(文本), table(表格), formula(公式)') args = parser.parse_args() # 创建处理器实例 processor = GLMOCRProcessor() # 执行批量处理 try: results = processor.process_batch( input_folder=args.input_folder, task_type=args.task, output_file=args.output ) if results is not None: print(f"处理完成! 结果已保存到: {args.output}") except Exception as e: print(f"处理过程中发生错误: {e}") if __name__ == "__main__": main() ``` ## 5. 使用技巧与最佳实践 ### 5.1 提高识别准确率的技巧 **图片预处理建议**: ```python # 在实际处理前,可以考虑对图片进行预处理 from PIL import Image import cv2 import numpy as np def preprocess_image(image_path): """ 简单的图片预处理,提高OCR识别率 """ # 读取图片 img = cv2.imread(image_path) # 转换为灰度图 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 应用自适应阈值 processed = cv2.adaptiveThreshold( gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2 ) # 保存处理后的图片 output_path = image_path + "_processed.png" cv2.imwrite(output_path, processed) return output_path # 在使用GLM-OCR前先预处理图片 processed_image = preprocess_image("original_image.png") result = process_single_image(processed_image) ``` ### 5.2 处理大量文件时的优化建议 **分批处理避免内存溢出**: ```python def process_large_folder(folder_path, batch_size=50, output_template="results_batch_{}.xlsx"): """ 分批处理大量文件,避免内存问题 """ image_files = [] # 获取所有图片文件 total_batches = (len(image_files) + batch_size - 1) // batch_size for batch_num in range(total_batches): start_idx = batch_num * batch_size end_idx = min((batch_num + 1) * batch_size, len(image_files)) batch_files = image_files[start_idx:end_idx] print(f"处理第 {batch_num + 1}/{total_batches} 批,共 {len(batch_files)} 个文件") batch_results = [] for file_path in batch_files: result = process_single_image(file_path) batch_results.append({ '文件名': os.path.basename(file_path), '识别内容': result }) # 保存当前批次结果 output_file = output_template.format(batch_num + 1) pd.DataFrame(batch_results).to_excel(output_file, index=False) print(f"批次 {batch_num + 1} 结果已保存到: {output_file}") ``` ### 5.3 错误处理与重试机制 **添加重试逻辑**: ```python import requests from tenacity import retry, stop_after_attempt, wait_exponential @retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=4, max=10)) def robust_process_image(image_path, task_type="Text Recognition:"): """ 带有重试机制的图片处理函数 """ try: client = Client("http://localhost:7860") result = client.predict( image_path=image_path, prompt=task_type, api_name="/predict" ) return result except requests.exceptions.ConnectionError: print("连接失败,正在重试...") raise except Exception as e: print(f"处理失败: {e}") return None ``` ## 6. 总结 通过本文的实战教程,你已经掌握了使用 GLM-OCR 进行批量文档处理的核心技能。关键要点总结: **核心价值**: - **高效批量处理**:一次性处理成百上千个扫描文档 - **多格式支持**:支持 PNG、JPG、WEBP 等多种图片格式 - **智能识别**:准确识别文本、表格、公式等复杂内容 - **结构化输出**:自动整理为 Excel 格式,便于后续分析 **最佳实践建议**: 1. **预处理图片**:适当调整对比度和亮度可以提高识别准确率 2. **分批处理**:处理大量文件时建议分批进行,避免服务器过载 3. **错误处理**:添加重试机制处理临时性网络或服务问题 4. **结果验证**:对重要文档建议进行抽样验证识别结果 **扩展应用思路**: - 结合其他 NLP 工具对识别结果进行进一步分析 - 开发 Web 界面实现更友好的批量上传和处理 - 集成到自动化工作流中,实现端到端的文档处理管道 GLM-OCR 的强大识别能力结合 Python 的批量处理功能,为文档数字化提供了高效可靠的解决方案。无论是处理历史档案还是日常办公文档,这个组合都能显著提升工作效率。 --- > **获取更多AI镜像** > > 想探索更多AI镜像和应用场景?访问 [CSDN星图镜像广场](https://ai.csdn.net/?utm_source=mirror_blog_end),提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

Python内容推荐

GLM-OCR部署指南[项目代码]

GLM-OCR部署指南[项目代码]

GLM-OCR是一个基于先进多模态架构的企业级OCR识别系统,专为处理复杂文档场景设计。该系统不仅能识别常规文本,还能准确解析表格结构、数学公式等复杂内容,为企业文档数字化提供完整解决方案。与传统OCR工具相比,GLM-OCR采用编码器-解码器设计,结合多令牌预测技术和强化学习机制,显著提升训练效率和识别准确率。核心特性包括支持文本、表格、公式的多任务识别,处理复杂版式和多语言文档,提供简洁的Web界面和API接口,以及本地化部署保障数据安全。部署过程简单快捷,支持一键脚本完成环境搭建,并提供丰富的API接口便于系统集成和批量处理。企业级部署时需考虑性能优化和安全加固,如内存优化配置、高可用部署、网络隔离、访问控制和数据加密等。

智能记账助手应用[代码]

智能记账助手应用[代码]

本文介绍了OpenClaw+GLM-4.7-Flash智能记账助手的应用,详细阐述了其语义级理解、多格式兼容、规则可进化和可视化分析等独特价值。文章还提供了环境准备与模型部署的步骤,包括基础组件安装和记账技能安装。通过实战案例展示了消费记录处理的全过程,包括原始数据导入、分类逻辑调校和数据分析输出。此外,还介绍了进阶使用技巧,如自定义分类规则、自动化流水线和多端协同分析。最后,作者分享了踩坑与优化经验,并总结了使用该助手带来的效率提升和节省成本的益处。

基于 Markdown 格式的多功能转换服务,支持将 PowerPoint、Word、Excel、图像、音频和 HTML 等文件转化为 Markdown 格式

基于 Markdown 格式的多功能转换服务,支持将 PowerPoint、Word、Excel、图像、音频和 HTML 等文件转化为 Markdown 格式

这是一项基于 Markdown 格式的多功能转换服务,支持将 PowerPoint、Word、Excel、图像、音频和 HTML 等文件转化为 Markdown 格式。同时,服务整合了 Gitee AI 和智谱 AI 提供的 GLM-4V 模型,以及阿里云百炼平台的 Qwen-VL-Max 模型,用于图片和 PDF 文件的高效文本识别。

面向企业级市场的一站式AI应用开发框架,支持多厂商大模型统一接入与管理,具备安全可控的企业知识库与高精度检索优化能力,提供可视化.zip

面向企业级市场的一站式AI应用开发框架,支持多厂商大模型统一接入与管理,具备安全可控的企业知识库与高精度检索优化能力,提供可视化.zip

面向企业级市场的一站式AI应用开发框架,支持多厂商大模型统一接入与管理,具备安全可控的企业知识库与高精度检索优化能力,提供可视化流程编排、自主决策智能体与多智能体协同调度,兼容主流 Agent Skill 协议,帮助企业与开发者零门槛快速构建安全、高效、可落地的AI智能体应…

一套面向企业级场景的AI智能体平台 它基于AgentScope构建,提供智能体从创建、配置、调试到上线运行的全生命周期管理能力

一套面向企业级场景的AI智能体平台 它基于AgentScope构建,提供智能体从创建、配置、调试到上线运行的全生命周期管理能力

基于 AgentScope 构建的可视化智能体平台,支持敏感词 · 多模型接入 · 定时任务 · 多模态 · Hook(硬编码 + 在线) · Tool(硬编码 + 在线) · Skill · MCP · RAG · Human-in-the-Loop · 多智能体 · AGUI 。多节点集群 · API Key · 容器化隔离部署

一个灵活、可扩展的企业级 AI 智能体平台 基于 Spring Boot 4 和 Spring AI 构建,提供多模型管理、智能体编排、RAG 知识库、长期记忆、技能管理等核心能力

一个灵活、可扩展的企业级 AI 智能体平台 基于 Spring Boot 4 和 Spring AI 构建,提供多模型管理、智能体编排、RAG 知识库、长期记忆、技能管理等核心能力

一个灵活、可扩展的企业级 AI 智能体平台。基于 Spring Boot 4 和 Spring AI 构建,提供多模型管理、智能体编排、RAG 知识库、长期记忆、技能管理等核心能力。拥有完善的后台管理界面和 OpenAPI 接口,支持快速接入和二次开发。

 All-in-one AI companion! Super Agent Party = Self hosted neuro.zip

All-in-one AI companion! Super Agent Party = Self hosted neuro.zip

面向企业级市场的一站式AI应用开发框架,支持多厂商大模型统一接入与管理,具备安全可控的企业知识库与高精度检索优化能力,提供可视化流程编排、自主决策智能体与多智能体协同调度,兼容主流 Agent Skill 协议,帮助企业与开发者零门槛快速构建安全、高效、可落地的AI智能体应…

PyTorch 模型 转换到 ONNX 标准格式

PyTorch 模型 转换到 ONNX 标准格式

把 PyTorch 环境下训练完成的模型,通过导出工具转换为 ONNX 标准模型文件,让原本依赖 PyTorch 运行环境的模型,可以在各类支持 ONNX 规范的推理引擎上直接部署运行。

完美复现TOGI-SOGI 混合积分器驱动的光储并网谐波自适应抑制方法(Simulink仿真实现)

完美复现TOGI-SOGI 混合积分器驱动的光储并网谐波自适应抑制方法(Simulink仿真实现)

内容概要:本文提出了一种基于TOGI-SOGI混合积分器的光储并网谐波自适应抑制方法,旨在有效应对光伏发电系统并网过程中由非线性负载、逆变器非理想特性等因素引发的电流谐波问题,从而提升电能质量与系统运行稳定性。该方法深度融合三重二阶广义积分器(TOGI)与二阶广义积分器(SOGI)的技术优势,构建了一套高精度、自适应的谐波检测与补偿控制策略。通过Simulink仿真平台对系统进行全面建模与验证,详细涵盖了控制算法设计、系统结构搭建、关键参数整定及动态性能分析等环节。仿真结果表明,该方法不仅能够精确分离并抑制并网电流中的各次谐波成分,而且在电网频率波动或存在间谐波等复杂工况下仍具备优异的动态响应能力与鲁棒性,补偿精度显著优于传统方法,为光储混合系统的并网电能质量治理提供了先进且可复现的技术解决方案。; 适合人群:具备电力电子、新能源并网控制、自动控制理论等相关专业知识背景,从事电气工程、能源互联网、智能电网等领域研究的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①应用于光伏-储能联合发电系统的并网逆变器谐波抑制策略设计与性能优化;②为提升分布式电源并网电能质量提供高精度仿真验证平台与核心技术参考;③适用于对谐波治理要求严苛的智能配电网、微电网及工业电力系统等需要实现自适应、高精度谐波补偿的高级应用场景。; 阅读建议:建议读者结合提供的Simulink仿真模型进行同步学习与实践,重点剖析TOGI-SOGI复合结构的设计机理、谐波分量的正交信号生成与解调过程,以及控制器参数的系统性整定方法。同时,可进一步拓展至电网电压不平衡、背景谐波畸变等非理想工况下的仿真测试,以全面评估和掌握该方法的适应性与工程应用潜力。

【无人机路径规划】实现有效的水陆两栖无人机任务规划和执行(Matlab实现)(含粒子群优化和遗传算法)

【无人机路径规划】实现有效的水陆两栖无人机任务规划和执行(Matlab实现)(含粒子群优化和遗传算法)

内容概要:本文围绕水陆两栖无人机的任务规划与三维路径优化问题,提出了一种基于Matlab实现的智能优化解决方案,重点融合粒子群优化(PSO)和遗传算法(GA)两种先进算法,构建高效的路径搜索与避障模型。通过建立适用于复杂地形环境的代价函数与约束条件,实现了无人机在动态、多障碍场景下的全局路径规划与局部动态调整。文中详细展示了算法的实现流程,包括种群初始化、适应度评估、迭代优化及路径平滑处理,并提供了GA与PSO在收敛速度、路径长度、避障能力等方面的对比分析,验证了混合策略在提升规划效率与鲁棒性方面的优越性。; 适合人群:具备Matlab编程基础,从事无人机路径规划、智能优化算法研究的科研人员及研究生。; 使用场景及目标:①解决水陆两栖无人机在复杂地形中的三维路径规划与避障问题;②对比粒子群算法与遗传算法在路径优化中的性能差异,提升任务规划效率与鲁棒性;③为智能无人系统在搜救、监测等实际场景中的应用提供算法支持与仿真验证。; 阅读建议:建议结合文中提供的Matlab代码进行仿真实践,重点关注算法参数设置、适应度函数设计及路径可视化结果,深入理解智能优化算法在路径规划中的具体实现与优化策略。

三甲医院Oracle 19c运维实战:表空间爆满彻底解决+自动化监控方案(可落地)

三甲医院Oracle 19c运维实战:表空间爆满彻底解决+自动化监控方案(可落地)

在医院HIS系统数据库运维中,表空间占满是高频高危共性问题,会直接导致数据无法写入、核心业务报错,严重时造成业务全面中断,常见表现为医嘱保存、处方签名、业务数据提交失败,数据库抛出 ORA-01653 扩展异常。本文方案基于Oracle 19c生产环境实战落地,适配当前三甲医院主流数据库版本。 结合生产运维经验,此类故障均为可提前规避的常规运维问题,并非突发性技术故障。另文中立梳理故障核心诱因、标准化运维动作、自动化监控方案、数据库常规优化规范,统一医院Oracle 19c数据库运维标准,规避此类常态化故障。

Hide.me-Setup-4.3.2后缀名改为exe即可.bin(威点屁点嗯工具)

Hide.me-Setup-4.3.2后缀名改为exe即可.bin(威点屁点嗯工具)

Hide.me-Setup-4.3.2后缀名改为exe即可.bin(威点屁点嗯工具)

vscode1.83.0 - 12

vscode1.83.0 - 12

vscode1.83.0 - 12

高校技术转移办公室人员如何借助科创大脑优化技术成果转化流程?.docx

高校技术转移办公室人员如何借助科创大脑优化技术成果转化流程?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构如何借助产业大脑提升服务匹配精准度?.docx

科技中介服务机构如何借助产业大脑提升服务匹配精准度?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何运用科创数智大脑支撑技术创新与协同?.docx

国央企创新负责人如何运用科创数智大脑支撑技术创新与协同?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

科技中介服务机构如何利用科创数智大脑提升服务精准度?.docx

科技中介服务机构如何利用科创数智大脑提升服务精准度?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

HPDL388 G8服务器升级软件 cp053895

HPDL388 G8服务器升级软件 cp053895

HPDL388 G8服务器升级软件 cp053895

基于控制李雅普诺夫-屏障函数(CLBF)与分布式模型预测控制(DMPC)研究(Matlab代码实现)

基于控制李雅普诺夫-屏障函数(CLBF)与分布式模型预测控制(DMPC)研究(Matlab代码实现)

内容概要:本文围绕基于控制李雅普诺夫-屏障函数(CLBF)与分布式模型预测控制(DMPC)的研究展开,重点探讨了二者结合在复杂系统控制中的应用,尤其聚焦于多智能体系统的稳定性保障与优化控制问题。通过Matlab代码实现,展示了如何利用CLBF确保系统状态的安全性与稳定性,同时借助DMPC实现分布式优化决策,提升系统的实时性与鲁棒性。研究内容涵盖算法设计、数学建模、稳定性证明及仿真实验,适用于无人机路径规划、微电网控制等多领域场景。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事控制工程、自动化、机器人或相关领域研究的研究生及科研人员。; 使用场景及目标:① 掌握CLBF在安全性约束下的系统控制设计方法;② 理解DMPC在多智能体系统中的分布式优化实现机制;③ 实现CLBF与DMPC融合策略的Matlab仿真,应用于路径规划、协同控制等实际科研项目中; 阅读建议:建议读者结合文中提供的Matlab代码逐模块分析,重点关注CLBF构造、障碍函数设计、DMPC优化求解过程,并通过修改参数和场景进行仿真实验,加深对理论与实现细节的理解。

Catia批量格式转换

Catia批量格式转换

catia批量格式转换,可以将目录下所有工程图转换成对应的pdf文件 首先要打开catia软件,然后再打开批量转换文件,选择转换格式,选择转换文件或目录(可以整过目录转换),保存目录设定好,转换即可。

最新推荐最新推荐

recommend-type

关于jupyter打开之后不能直接跳转到浏览器的解决方式

jupyter介绍 jupyter的全称为Jupyter Notebook,之前一度被称为(IPython notebook),是一种交互式的程序运行笔记本,它现在支持着40多种的编程语言,可以说是非常高效的语言测试环境。 jupyter notebook的本质其实是一个web应用程序,便于创建和共享程序文档,可以将实时代码,框图,数学方程等等集成到一个环境当中。经常被用于数据处理,系统建模和机器学习等。 jupyter的安装 jupyter的安装是可以随anconda的下载一并下载的,在这里不做过多的介绍,读者有兴趣可以参考其他博主的anconda安装过程和配置过程 笔者使用jupyter时
recommend-type

Anaconda和ipython环境适配的实现

ipython:同为python命令行工具,相比于原始的python命令行客户端,ipython无疑具有更好地交互体验,无须额外配置,即可享有代码着色、自动补全等诸多便利。 Anaconda:python的环境管理软件。首先可以很方便的切换不同的版本(包括各个版本的python和各个版本的类库),其次,Anaconda的安装和环境变量配置是仅面向用户个人的,这无疑很适合多人共用服务器的场景。 但是,系统自带的ipython和安装好的Anaconda居然不兼容? 借鉴自gitthub-ipython 的 issue 讨论,解决方法如下。 在Anaconda环境下重新安装ipython: c
recommend-type

anaconda组件图标

anaconda组件的图标,包含IDLE图标,ipython图标,spyder图标,jupyter图标,Prompt图标, py图标,pyd图标,pyc图标等
recommend-type

Anaconda+spyder+pycharm的pytorch配置详解(GPU)

第一步 : 从清华大学开源软件镜像站下载Anaconda:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D 安装过程中需要勾选如下图 装好后测试是否装好,先配置环境变量(可能anaconda安装好后自己就有了) 打开CMD,输入代码 conda list 回车出现包的信息则说明安装完成 打开Anaconda Navigator(桌面没有的话就点击左下角看最近添加)可以看到spyder已经下好了 第二步:下载CUDA(GPU) 注意:没有NVIDA的显卡是不能使用CUDA的!!!!!!!!!
recommend-type

mayavi mlab简明ppt教程

mayavi mlab简明ppt教程
recommend-type

学生成绩管理系统C++课程设计与实践

资源摘要信息:"学生成绩信息管理系统-C++(1).doc" 1. 系统需求分析与设计 在进行学生成绩信息管理系统开发前,首先需要进行系统需求分析,这是确定系统开发目标与范围的过程。需求分析应包括数据需求和功能需求两个方面。 - 数据需求分析: - 学生成绩信息:需要收集学生的姓名、学号、课程成绩等数据。 - 数据类型和长度:明确每个数据项的数据类型(如字符串、整型等)和长度,例如学号可能是字符串类型且长度为一定值。 - 描述:详细描述每个数据项的意义,以确保系统能够准确处理。 - 功能需求分析: - 列出功能列表:用户界面应提供清晰的操作指引,列出所有可用功能。 - 查询学生成绩:系统应能通过学号或姓名查询学生的成绩信息。 - 增加学生成绩信息:允许用户添加未保存的学生成绩信息。 - 删除学生成绩信息:能够通过学号或姓名删除已经保存的成绩信息。 - 修改学生成绩信息:通过学号或姓名修改已有的成绩记录。 - 退出程序:提供安全退出程序的选项,并确保所有修改都已保存。 2. 系统设计 系统设计阶段主要完成内存数据结构设计、数据文件设计、代码设计、输入输出设计、用户界面设计和处理过程设计。 - 内存数据结构设计: - 使用链表结构组织内存中的数据,便于动态增删查改操作。 - 数据文件设计: - 选择文本文件存储数据,便于查看和编辑。 - 代码设计: - 根据功能需求,编写相应的函数和模块。 - 输入输出设计: - 设计简洁明了的输入输出提示信息和操作流程。 - 用户界面设计: - 用户界面应为字符界面,方便在命令行环境下使用。 - 处理过程设计: - 设计数据处理流程,确保每个操作都有明确的处理逻辑。 3. 系统实现与测试 实现阶段需要根据设计阶段的成果编写程序代码,并进行系统测试。 - 程序编写: - 完成系统设计中所有功能的程序代码编写。 - 系统测试: - 设计测试用例,通过测试用例上机测试系统。 - 记录测试方法和测试结果,确保系统稳定可靠。 4. 设计报告撰写 最后,根据系统开发的各个阶段,撰写详细的设计报告。 - 系统描述:包括问题说明、数据需求和功能需求。 - 系统设计:详细记录内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。 - 系统测试:包括测试用例描述、测试方法和测试结果。 - 设计特点、不足、收获和体会:反思整个开发过程,总结经验和教训。 时间安排: - 第19周(7月12日至7月16日)完成项目。 - 7月9日8:00到计算机学院实验中心(三楼)提交程序和课程设计报告。 指导教师和系主任(或责任教师)需要在文档上签名确认。 系统需求分析: - 使用表格记录系统需求分析的结果,包括数据项、数据类型、数据长度和描述。 - 分析数据项如学生成绩信息、状态器、链表节点等,确定其属性和行为。 以上就是文档中提到的学生成绩信息管理系统开发的关键知识点。开发此类系统需要熟练掌握C++编程基础,了解面向对象的程序设计思想,以及熟悉文件操作和链表等数据结构的应用。此外,良好的软件开发流程意识、测试意识和文档撰写能力也是必不可少的。
recommend-type

别再手动拖拽了!用Lumerical脚本批量创建FDTD仿真结构(附完整代码)

# 告别低效建模:Lumerical脚本自动化实战指南 在光子学仿真领域,时间就是科研生命线。当同行还在GUI界面里反复点击菜单时,你已经用脚本批量生成了20组参数化结构——这不是未来场景,而是每位FDTD用户都应该掌握的基础生产力革命。本文将彻底改变你与Lumerical的交互方式,从手动拖拽的农耕时代,跃迁到自动化建模的工业文明。 ## 1. 为何脚本建模是必然选择 2019年Nature Photonics的一项研究显示,科研工作者在仿真工具上平均浪费37%的时间在重复性操作上。对于需要参数扫描的纳米光学结构设计,这个数字可能更高。手动创建10个不同尺寸的纳米柱阵列意味着: -
recommend-type

Java邮件解析任务中,如何安全高效地提取HTML邮件内容并避免硬编码、资源泄漏和类型转换异常?

<think>我们被要求优化一段Java代码,该代码用于处理邮件(特别是来自特定发件人的构建通知邮件)。代码的主要问题包括: 1. 重复获取邮件内容:在检查MIME类型后,多次调用`msg[i].getContent()`,这可能导致性能问题或流关闭异常。 2. 类型转换问题:直接将邮件内容转换为`Multipart`而不进行类型检查,可能引发`ClassCastException`。 3. 代码结构问题:逻辑嵌套过深,可读性差,且存在重复代码(如插入邮件详情的操作在两个地方都有)。 4. 硬编码和魔法值:例如在解析HTML表格时使用了硬编码的索引(如list3.get(10)),这容易因邮件
recommend-type

RH公司应收账款管理优化策略研究

资源摘要信息:"本文针对RH公司的应收账款管理问题进行了深入研究,并提出了改进策略。文章首先分析了应收账款在企业管理中的重要性,指出其对于提高企业竞争力、扩大销售和充分利用生产能力的作用。然后,以RH公司为例,探讨了公司应收账款管理的现状,并识别出合同管理、客户信用调查等方面的不足。在此基础上,文章提出了一系列改善措施,包括完善信用政策、改进业务流程、加强信用调查和提高账款回收力度。特别强调了建立专门的应收账款回收部门和流程的重要性,并建议在实际应用过程中进行持续优化。同时,文章也意识到企业面临复杂多变的内外部环境,因此提出的策略需要根据具体情况调整和优化。 针对财务管理领域的专业学生和从业者,本文提供了一个关于应收账款管理问题的案例研究,具有实际指导意义。文章还探讨了信用管理和征信体系在应收账款管理中的作用,强调了它们对于提升企业信用风险控制和市场竞争能力的重要性。通过对比国内外企业在应收账款管理上的差异,文章总结了适合中国企业实际环境的应收账款管理方法和策略。" 根据提供的文件内容,以下是详细的知识点: 1. 应收账款管理的重要性:应收账款作为企业的一项重要资产,其有效管理关系到企业的现金流、财务健康以及市场竞争力。不良的应收账款管理会导致资金链断裂、坏账损失增加等问题,严重影响企业的正常运营和长远发展。 2. 应收账款的信用风险:在信用交易日益频繁的商业环境中,企业必须对客户信用进行评估,以便采取合理的信用政策,降低信用风险。 3. 合同管理的薄弱环节:合同是应收账款管理的法律基础,严格的合同管理能够保障企业权益,减少因合同问题导致的应收账款风险。 4. 客户信用调查:了解客户的信用状况对于预测和控制应收账款风险至关重要。企业需要建立有效的客户信用调查机制,识别和筛选信用良好的客户。 5. 应收账款回收策略:企业应建立有效的账款回收机制,包括定期的账款跟进、逾期账款的催收等。同时,建立专门的应收账款回收部门可以提升回收效率。 6. 应收账款管理流程优化:通过改进企业内部管理流程,如简化审批流程、提高工作效率等措施,能够提升应收账款的管理效率。 7. 应收账款管理策略的调整和优化:由于企业的内外部环境复杂多变,因此制定的管理策略需要根据实际情况进行动态调整和持续优化。 8. 信用管理和征信体系的作用:建立和完善企业内部信用管理体系和征信体系,有助于企业更好地控制信用风险,并在市场竞争中占据有利地位。 9. 对比国内外应收账款管理实践:通过研究国内外企业在应收账款管理上的不同做法和经验,可以借鉴先进的管理理念和方法,提升国内企业的应收账款管理水平。 综上所述,本文深入探讨了应收账款管理的多个方面,为RH公司乃至其他同类型企业提供了应收账款管理的改进方向和策略,对于财务管理专业的教育和实践都具有重要的参考价值。
recommend-type

新手别慌!用BingPi-M2开发板带你5分钟搞懂Tina Linux SDK目录结构

# 新手别慌!用BingPi-M2开发板带你5分钟搞懂Tina Linux SDK目录结构 第一次拿到BingPi-M2开发板时,面对Tina Linux SDK里密密麻麻的文件夹,我完全不知道从哪下手。就像走进一个陌生的大仓库,每个货架上都堆满了工具和零件,却找不到操作手册。这种困惑持续了整整两天,直到我意识到——理解目录结构比死记硬背每个文件更重要。 ## 1. 为什么SDK目录结构如此重要 想象你正在组装一台复杂的模型飞机。如果所有零件都混在一个箱子里,你需要花大量时间寻找每个螺丝和面板。但如果有分门别类的隔层,标注着"机身部件"、"电子设备"、"紧固件",组装效率会成倍提升。Ti