百度paddlepaddle
paddleocr下pp-structure包含了版面分析及表格解析两项工作,本文是对表格解析的技术详述。
代码:
https://github.com/PaddlePaddle/PaddleOCR
简要概览:
PaddleOCR新发版v2.2:开源版面分析与轻量化表格识别_飞桨PaddlePaddle的博客-CSDN博客
RARE
百度paddlepaddle包含表格解析功能,被称为RERE算法。RARE算法原本用于进行文本识别,是一个img2seq任务,修改该网络head部分,分成表格描述和单元格定位两个任务,这两个任务共享了backbone的输出及head中一部分attention信息。“图片由表格结构和cell坐标预测模型拿到表格的结构信息和单元格的坐标信息”,最后输出表格的HTML描述。
一个完整的表格解析工程需要用到四个模型:版面分析模型、文本定位模型、文本识别模型、表格结构解析模型。
版面分析模型:飞桨用到了yolov2检测模型,对文档图片中的文本、表格、图片、标题与列表区域进行检测。当前主流是用分割做。
文本定位模型、文本识别模型:可使用其他定位识别模型。
表格结构解析模型:该技术的精髓所在。
![表格解析算法——PaddlePaddle之RARE_第1张图片](http://img.e-com-net.com/image/info8/9c1594c23d2346b0bf1a686b145bf64a.jpg)
如何进行训练:
python3 tools/train.py -c configs/table/table_mv3.yml
所有的模型训练都会用到这个train文件,可以视为一个主分支,根据配置文件调用不同的次分支。
# 统一化的处理配置、创建文件夹等
config, device, logger, vdl_writer = program.preprocess(is_train=True)
# 加载数据集、后处理、搭建模型、损失、优化器、执行训练等
main(config, device, logger, vdl_writer)
如何进行推理:
python3 ppstructure/table/predict_table.py
--det_model_dir=./inference/ch_PP-OCRv2_det_infer # 检测模型
--rec_model_dir=./inference/ch_PP-OCRv2_rec_infer # 识别模型
--table_model_dir=./inference/en_ppocr_mobile_v2.0_table_structure_infer # 表格结构识别模型
--image_dir=./doc/imgs/163558403291484de11ac8c.jpg # 测试图片
--rec_char_dict_path=./ppocr/utils/ppocr_keys_v1.txt # 识别词表,6623字符
--table_char_dict_path=./ppocr/utils/dict/table_structure_dict.txt # 表格结构词表,实际只用其中28个表格描述符
--det_limit_side_len=960 # 两个参数限制图像最短边为960,否则resize
--det_limit_type=min
--output ./output/table # 输出表格文件路径
推理中的det_limit_side_len与det_limit_type参数:
参数默认设置为`limit_type='max', det_limit_side_len=960`。表示网络输入图像的最长边不能超过960,如果超过这个值,会对图像做等宽比的resize操作,确保最长边为`det_limit_side_len`。
设置为`limit_type='min', det_limit_side_len=960` 则表示限制图像的最短边为960。
表格结构词表
table_structure_dict.txt 第0行是 277 28 1267 1186,第1行到277行为表格内字符,实际未用到,第278行开始28个为表格结构字符。限制了这个可解析表格的大小空间跨行跨列最大为10,没有跨1行或跨1列的字符。
词表中有28种表格结构符,模型为30分类,在分类中argmax=1,为,argmax=0、29 代表beg、end。
单元格开始
| 单元格结束
colspan="5". # 横跨5列
>
colspan="2"
colspan="3"
rowspan="2"。 # 横跨2行
colspan="4"
colspan="6"
rowspan="3"
colspan="9"
colspan="10"
colspan="7"
rowspan="4"
rowspan="5"
rowspan="9"
colspan="8"
rowspan="8"
rowspan="6"
rowspan="7"
rowspan="10"
不包含的html描述:
加粗文本
模型的结构
main函数调用build_model调用BaseModel,先后进行输入预处理(表格解析没有做这步)、backbone、neck(表格解析没有这一步)、head、输出
paddleocr/PaddleOCR-release-2.4/ppocr/modeling/architectures/__init__.py 调用BaseModel
配置文件模型参数为:
Architecture:
model_type: table
algorithm: TableAttn
Backbone:
name: MobileNetV3
scale: 1.0
model_name: large
Head:
name: TableAttentionHead
hidden_size: 256
l2_decay: 0.00001
loc_type: 2
max_text_length: 100
max_elem_length: 800
max_cell_num: 500
很多paper中经常把一个网络分为几个部分组成backbone、head、neck等深度学习中的术语解释_t20134297的博客-CSDN博客_深度学习neck
backbone:主干网络,经常是resnet、vgg这种成熟有预训练模型的结构
neck:放在backbone和head间,提取更好的特征
head:预测
bottleneck:瓶颈,输出维度小于输入维度,用于降维
backbone内部结构
为了轻量化,build_backbone为mobilenetv3,参考性不大
PaddleOCR-release-2.4/ppocr/modeling/backbones/rec_mobilenet_v3.py
Attention内部结构
PaddleOCR-release-2.4/ppocr/modeling/heads/table_att_head.py
self.head.out_channels= TableAttentionHead(
(structure_attention_cell): AttentionGRUCell(
(i2h): Linear(in_features=960, out_features=256, dtype=float32)
(h2h): Linear(in_features=256, out_features=256, dtype=float32)
(score): Linear(in_features=256, out_features=1, dtype=float32)
(rnn): GRUCell(990, 256)
)
(structure_generator): Linear(in_features=256, out_features=30, dtype=float32)
(loc_fea_trans): Linear(in_features=256, out_features=801, dtype=float32)
(loc_generator): Linear(in_features=1216, out_features=4, dtype=float32)
)
获取结构信息
第一步切片获取Attention:
(outputs, hidden), alpha = self.structure_attention_cell(hidden, fea, elem_onehots)
第二步将Attention结果进行cat:
output = paddle.concat(output_hiddens, axis=1)
第三步线性层获取结构信息:
structure_probs = self.structure_generator(output)
structure_probs = F.softmax(structure_probs)
输出维度为801*30
获取定位信息,比获取结构信息多了线性层:
第一步基于线性层处理出入特征:
loc_fea = self.loc_fea_trans(loc_fea)
第二步cat上面的Attention获得的output信息:
loc_concat = paddle.concat([output, loc_fea], axis=2)
第三步线性层获取坐标信息:
loc_preds = self.loc_generator(loc_concat)
loc_preds = F.sigmoid(loc_preds)
输出维度为801*4
坐标聚合
定位框和cell的对应关系基于下方2个度量计算,一个cell内多个定位框的排序按照先来后到排,推测是默认从上到下。
compute_iou函数计算Iou,distance函数计算角点距离
distances.append((distance(gt_box, pred_box), 1. - compute_iou(gt_box, pred_box)))
html转xlsx文件
后处理阶段build_post_process——TableLabelDecode
from tablepyxl import tablepyxl # tablepyxl将html读入excel
tablepyxl.document_to_xl(html_table, excel_path)
评估方式
理论上是用树编辑距离,但从build_metric——TableMetric来看,需要完全一致
for bno in range(batch_size):
all_num += 1
if (structure_probs[bno] == structure_labels[bno]).all():
correct_num += 1
损失
TableAttentionLoss由2部分组成
structure_loss :nn.CrossEntropyLoss
loc_loss:F.mse_loss 均方损失
可用loc_loss_giou:GIoU详解_景唯acr-CSDN博客_giou iou
损失权重:
structure_weight: 100.0 loc_weight: 10000.0
数据加载方式
main函数调用build_dataloader
加粗文本
在源码中,用识别模型的及,用的是识别模型的加粗文本识别能,但ch_PP-OCRv2_rec_infer并没有识别加粗文本的能力
HTML填充复原:
class TableSystem(object):
根据单元格开始字符所在的cell定位信息进行坐标聚合,从而进行文本聚合
if text in ['', ' |
文本信息填充到单元格结束字符前
if ' | ' in tag:
你可能感兴趣的:(计算机视觉,人工智能)
- SpringMVC的架构有什么优势?——视图与模型(二)
不会编程的小孩子
架构
#SpringMVC的架构有什么优势?——视图与模型(二)前言关键字:机器学习人工智能AIchatGPT学习实现使用搭建深度python事件远程dockermysql安全技术部署技术自动化代码视图(View)视图是展示结果的组件,它们负责渲染模型数据并生成HTML输出。SpringMVC支持多种视图技术,包括JSP、Thymeleaf等。视图(View)是SpringMVC中渲染并呈现结果的组件,
- Python在金融大数据分析中的AI应用实战
田野猫咪
python金融数据分析
随着人工智能时代的到来,Python作为一种功能强大的编程语言,在金融领域的大数据分析中扮演着日益重要的角色。本文将探讨Python在金融领域的应用,重点介绍其在大数据分析方面的实际应用案例,涉及股票市场分析、投资组合优化、风险管理等方面,并提供相关的代码示例。引言随着金融市场数据规模的不断增长,金融机构和投资者们越来越依赖于大数据分析和人工智能技术来做出更准确、更智能的决策。Python作为一种
- AI:助力开发者翱翔,而非抢夺其舞台
中草药z
人工智能社会AIGC开发学习方法
在当今这个科技飞速发展的时代,人工智能(AI)犹如一股春风,悄然渗透进全球各个行业,尤其在软件开发领域,其影响力日益显著。从初创企业到跨国巨头,无一不在积极探索AI如何重塑编程的面貌,引发了一场关于它究竟是开发者的朋友还是潜在对手的热烈讨论。本文将深入探讨AI对软件工程师的影响,揭示其真实角色,以期为业界同仁提供一份全面的视角。️AI:开发者的得力助手AI不是来势汹汹的竞争者,而是软件工程师最可靠
- 国产AI大模型Kimi爆火!概念梳理
我爱学AI
人工智能ai大模型
在人工智能(AI)技术的飞速发展浪潮中,一款名为Kimi的国产大模型近期在资本市场上引起了广泛关注,成为了AI领域的新星。Kimi,由国内AI创业公司月之暗面科技有限公司(MoonshotAI)开发,凭借其卓越的长文本处理能力和丰富的应用场景,迅速在AI对话助手市场中脱颖而出。3月18日,根据月之暗面官方微信公众号消息,支持200万字上下文的Kimi即日启动“内测”。根据机器之心数据显示,尚未上线
- 深度学习驱动下的字符识别:挑战与创新
逼子歌
神经网络深度学习字符识别卷积神经网络图像处理特征提取
一、引言1.1研究背景深度学习在字符识别领域具有至关重要的地位。随着信息技术的飞速发展,对字符识别的准确性和效率要求越来越高。字符识别作为计算机视觉领域的一个重要研究方向,其主要目的是将各种形式的字符转换成计算机可识别的文本信息。近年来,深度学习技术在字符识别领域取得了显著的进展。国内研究者主要使用基于模板匹配的方法、基于统计模型的方法、基于神经网络的方法等各种方法进行字符识别研究。目前,国内各大
- 【python】最新版小红书js逆向拿到数据,非常详细教程(附完整代码)
景天科技苑
爬虫副业实战零基础进阶教学pythonjs逆向小红书逆向python爬虫
✨✨欢迎大家来到景天科技苑✨✨养成好习惯,先赞后看哦~作者简介:景天科技苑《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。《博客》:Python全栈,前后端开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,linux,shell脚本等实操经验,网站搭
- 构建数字产业生态链,共绘数字经济新蓝图
树莓集团
人工智能大数据物联网科技生活
在当今数字化浪潮席卷全球的时代,构建数字产业生态链成为了推动经济发展的关键引擎。数字产业生态链如同一个强大的磁场,吸引着各类创新要素汇聚,共同描绘出数字经济的宏伟新蓝图。数字产业生态链的核心在于融合与协同。它将软件开发、数据分析、人工智能、物联网等多个领域紧密连接在一起,打破传统产业界限,实现资源的高效整合与共享。不同的数字技术相互赋能,催生出全新的商业模式和产业形态。构建数字产业生态链,离不开创
- 【深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数
阿_旭
AI应用软件开发实战深度学习实战深度学习python行人检测行人追踪过线计数
《博主简介》小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~感谢小伙伴们点赞、关注!《------往期经典推荐------》一、AI应用软件开发实战专栏【链接】项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体
- Python八大主要应用领域,你都知道吗?
TOP级别安卓开发
程序员python开发语言
随着NumPy,SciPy,Matplotlib等众多程序库的开发和完善,Python越来越适合于做科学计算和数据分析了。它不仅支持各种数学运算,还可以绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python比Matlab所采用的脚本语言的应用范围更广泛,可以处理更多类型的文件和数据。4、人工智能当前最热工资最高的IT工作就是从事人工智能领域的工程师了。Python
- 【激活函数总结】Pytorch中的激活函数详解: ReLU、Leaky ReLU、Sigmoid、Tanh 以及 Softmax
阿_旭
深度学习知识点pytorch人工智能python激活函数深度学习
《博主简介》小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。感谢小伙伴们点赞、关注!《------往期经典推荐------》一、AI应用软件开发实战专栏【链接】项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.
- 020 现代数据中心的路由与交换架构
Network_Engineer
RS网络网络安全计算机网络网络协议网络安全
引言现代数据中心的设计必须兼顾高性能、高可用性和灵活性,以满足云计算、大数据、人工智能等应用的需求。在这样的背景下,数据中心的路由与交换架构设计显得尤为重要。Spine-Leaf架构、BGP路由优化以及高密度虚拟化环境中的交换技术,成为了现代数据中心的关键组成部分。本篇博文将探讨这些技术的实际应用,并提供华为设备的配置示例。1.Spine-Leaf架构的设计与实施Spine-Leaf架构是一种扁平
- Deep learning for Computer Vision with Python(1)从零开始入门计算机视觉
Hazelyu27
计算机视觉大数据计算机视觉深度学习
本书的内容分成三个部分:1.初始阶段初始阶段学习:机器学习、神经网络、卷积神经网络、建立数据集。2.实践阶段实践阶段:深入学习深度学习,理解先进技术,发现最佳实践方式。3.图像网络阶段完成计算机视觉领域的经验积累。使用大规模数据集和真实图片案例作为数据集,包括年龄和性别预测,交通工具模型识别。本书提供了对应网站:http://pyimg.co/fnkxk本文介绍前两章内容:基本介绍和深度学习简介。
- 连续上多个热搜的chatgpt到底是什么?
高省张导师
近日,一款名为ChatGPT的人工智能聊天机器人火了。ChatGPT能做什么呢?除了简单的对话,它能帮你写代码、写文章、写诗、翻译,只要你能想到...,甚至有人用它来写作业。大家好我是氧惠APP最大团队张导师,氧惠首批邀请码520888,注册就帮你推广,一起做到百万团队。氧惠APP,2023全新模式,我的直推也会放到你下面,我曾经1年做到百万团队,现在加入我也会帮你做到百万团队。【氧惠】百度有几百
- 人工智能与机器学习原理精解【18】
叶绿先锋
基础数学与应用数学人工智能机器学习
文章目录决策树基础决策树的定义决策树的计算决策树的例子决策树的例题决策树算法一、决策树的算法过程二、决策树的性质Julia中实现框架使用`DecisionTree.jl`使用`MLJ.jl`Julia包的教程一、了解Julia包生态系统二、安装Julia包1.打开JuliaREPL2.使用Pkg包管理器三、使用Julia包四、查找和了解Julia包1.Julia官方文档2.JuliaHub3.Gi
- 【机器学习】机器学习的基本概念、算法的工作原理、实际应用案例
@我们的天空
人工智能技术机器学习算法人工智能自然语言处理金融pythonsklearn
一、机器学习的基本概念定义:机器学习是人工智能的一个分支,它使计算机能够在没有明确编程的情况下从数据中学习并改进其性能。机器学习的目标是让计算机自动学习模式和规律,从而能够对未知数据做出预测或决策。主要类型:监督学习:在这种类型的学习中,算法通过已知输入输出数据对进行训练,学习映射函数,以便对新的输入数据进行预测。常见的监督学习任务包括分类和回归。无监督学习:无监督学习的任务是发现数据中的结构或模
- 从零开始设计一款全新GPU
jack_201316888
GPUAI大模型渲染GPUGPGPU
(提纲::)设计一款全新的GPU(图形处理单元)是一项复杂且多方面的工程工作,涉及到硬件架构、软件编程模型、性能优化、功耗管理等多个领域。以下是从零到一设计一款全新GPU的基本步骤和关键考虑因素。1.定义需求和目标1.1应用场景首先,需要明确GPU的应用场景。这可以是图形渲染(如游戏、电影制作)、通用计算(如科学计算、人工智能训练)、嵌入式系统(如移动设备、汽车电子)等。1.2性能目标根据应用场景
- 【专题】2024年中国AI人工智能基础数据服务研究报告合集PDF分享(附原数据表)
拓端研究室
人工智能
原文链接:https://tecdat.cn/?p=37516随着人工智能技术的迅猛发展,AI基础数据服务行业迎来了前所未有的发展机遇。报告合集显示,2023年中国AI基础数据服务市场规模达到45亿元,且未来五年复合增长率有望达到30.4%。多模态大模型、长文本处理能力提升以及大模型小型化技术成为AI领域热点研究方向,从而推动了对高质量数据的大量需求。阅读原文,获取专题报告合集全文,解锁文末403
- 【自然语言处理】自然语言处理NLP概述及应用
@我们的天空
人工智能技术nlp人工智能深度学习python机器学习自然语言处理scikit-learn
自然语言处理(NaturalLanguageProcessing,简称NLP)是一门集计算机科学、人工智能以及语言学于一体的交叉学科,致力于让计算机能够理解、解析、生成和处理人类的自然语言。它是人工智能领域的一个关键分支,旨在缩小人与机器之间的交流障碍,使得机器能够更有效地识别并响应人类的自然语言指令或内容。自然语言处理NLP概述基本任务:文本分类:将文本划分为预定义的类别,如情感分析、主题分类等
- 大模型落地指南:从下载到本地化部署全流程解析
网安猫叔
人工智能自然语言处理语言模型AIGC深度学习
一、引言随着人工智能技术的迅猛发展,大规模预训练模型(如GPT-4、BERT等)在自然语言处理、图像识别等领域展现出了卓越的性能。然而,如何将这些强大的模型从理论落地到实际应用中,仍然是许多技术从业者面临的挑战。本篇文章旨在为读者提供一份详尽的大模型落地指南,从模型的下载、文件结构的解析,到本地化部署的具体步骤,全面覆盖整个流程。无论你是初次接触大模型的新手,还是希望深入了解部署细节的资深开发者,
- ChatGPT在环境科学领域的应用前沿分享
树谷-胡老师
科研会议chatgpt
ChatGPT在环境科学领域的应用前沿在党的二十届三中全会上,明确要求健全因地制宜的发展新质生产力体制机制。新质生产力通过创新驱动,以高科技、高效能、高质量为特征,旨在摆脱传统经济增长方式和生产力发展路径,符合新发展理念。环境科学的新质生产力主要体现在基础数据、数据管理和数据分析三方面。通过增加数据覆盖率、提升数据管理自动化水平和利用人工智能(AI)进行数据分析,实现环境质量的实时监控和管理,为环
- 如何在5个步骤中编写更好的ChatGPT提示
AI脑极体
chatgpt人工智能
ChatGPT是一个风靡全球的生成式人工智能(AI)工具。虽然它有可能编造一些东西,但是通过精心设计提示,可以确保获得最佳结果。在这篇文章中,我们将探讨如何做到这一点。在本文中,我将向你展示如何编写提示,激励驱动ChatGPT的大语言模型(LLM)提供最佳答案。另请参阅:自从ChatGPT问世以来,我测试了几十个AI聊天机器人。这里是我最新的首选编写有效提示,通常被称为提示工程,已经成为一个高薪职
- 自然语言处理系列六十六》对话机器人项目实战》对话机器人原理与介绍
陈敬雷-充电了么-CEO兼CTO
python人工智能算法自然语言处理机器人人工智能AIGCchatgptgptai
注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】文章目录自然语言处理系列六十六对话机器人项目实战》对话机器人原理与介绍对话机器人项目代码实战总结自然语言处理系列六十六对话机器人项目实战》对话机器人原理与介绍对话机器人是一个用来模拟人类对话或聊天的计算机程序,本质上是通过机器学习和人工智能等技术让
- OPENAI中RAG实现原理以及示例代码用PYTHON来实现
dzend
aigcpython开发语言ai
OPENAI中RAG实现原理以及示例代码用PYTHON来实现1.引言在当今人工智能领域,自然语言处理(NLP)是一个非常重要的研究方向。近年来,OPENAI发布了许多创新的NLP模型,其中之一就是RAG(Retrieval-AugmentedGeneration)模型。RAG模型结合了检索和生成两种方法,可以用于生成与给定问题相关的高质量文本。本文将介绍RAG模型的实现原理,并提供使用Python
- OpenCV计算机视觉学习(16)——仿射变换学习笔记
牛马程序员24
计算机视觉opencv学习
OpenCV计算机视觉学习(16)——仿射变换学习笔记如果需要其他图像处理的文章及代码,请移步小编的GitHub地址传送门:请点击我如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice在计算机视觉和图像处理中,仿射变换是一种重要的几何变换方法。它可以通过线性变换和平移来改变图像的形状和位置,广泛应用与图像校正,对象识别以及增强现实
- 大语言模型的上下文窗口(Context Windows):对人工智能应用的影响
澳鹏Appen
生成式AI人工智能与机器学习RAG人工智能语言模型自然语言处理
大语言模型(LLMs)极大地提升了人工智能在理解和生成类人文本方面的能力。其中一个影响其效用的基本方面是它们的“上下文窗口”——这个概念直接影响着这些模型接收和生成语言的有效性。我将深入探讨上下文窗口是什么、它们对人工智能应用的影响以及组织在利用大语言模型时的一些考量。澳鹏在提升大语言模型开发方面处于领先地位,提供一系列对超越当前性能基准至关重要的服务。我们专注于大语言模型创建的复杂细节,包括上下
- 全能型AI与专业型AI:多样性与精专性的博弈
wangzaojun
人工智能
随着人工智能技术的不断进步,AI的应用已经从单一领域扩展到几乎所有行业。近日,OpenAI宣布将在秋季推出代号为“草莓”的全新AI模型,这款全能型AI能够从复杂的数学计算到主观的营销策划,展现出令人惊叹的多样性。这一消息引发了广泛讨论:全能型AI是否会成为未来AI产品的发展方向?相比之下,专业型AI能否继续保持其不可替代的市场地位?本文将探讨全能型AI与专业型AI的优劣势,并分析其未来发展潜力。一
- 多模态视野:探索Qwen-VL的70亿参数世界
努力犯错
人工智能计算机视觉深度学习gpt-3语言模型
引言在人工智能的迅猛发展中,多模态大模型成为了新的研究热点。阿里云推出的Qwen-VL模型,就是在这一领域的重要突破。作为一款基于70亿参数的通义千问模型Qwen-7B开发的多模态视觉语言模型,Qwen-VL不仅在技术上实现了创新,更在多模态任务评测中展现出卓越的性能。官网demo技术特点Qwen-VL模型的核心在于其多模态理解能力。它能够同时处理图像和文本信息,实现更加全面和深入的数据解析。这一
- 倒计时5天!“SMP-智谱AI大模型交叉学科基金”第二期持续申报中!数百万元现金或等额赞助支持...
AITIME论道
人工智能
点击蓝字关注我们AITIME欢迎每一位AI爱好者的加入!|本基金申报截止时间为2024年9月8日。随着人工智能和大模型技术的飞速发展,大模型技术在各个学科领域的应用已经展现出巨大的潜力和影响力。中国中文信息学会社会媒体处理专委会(http://www.cips-smp.org)联合北京智谱华章科技有限公司(以下简称“智谱AI”),共同推出“SMP-智谱AI大模型交叉学科基金”第二期。SMP-智谱A
- 汽车智能驾驶算法汇总
芊言芊语
汽车算法
汽车智能驾驶算法是自动驾驶技术的核心,它们集成了多个学科的知识,包括计算机视觉、机器学习、控制理论、路径规划等。以下是对汽车智能驾驶算法的一个详细汇总,内容分为几个关键部分进行阐述。一、计算机视觉算法计算机视觉是智能驾驶算法中用于识别和理解环境的关键技术。它主要包括图像处理、特征提取和对象识别等步骤。图像处理:通过摄像头等设备获取车辆前方的图像,然后进行预处理,如灰度化、二值化、滤波等操作,以提高
- 第十一届国际分子模拟与人工智能应用学术会议 (2023-ICMS&AI)
zzl18864612032
人工智能大数据算法云计算
作为国内历史悠久、分子模拟领域公认的高水平国际学术会议,国际分子模拟与人工智能应用学术会议重磅回归。经过两年的精心筹备,本次会议将于2023年5月6日-7日在成都隆重举行,本次大会将为国内外从事分子模拟人工智能应用和研发创新数字化转型的企业、高校、科研机构的专家与学者,提供最为广泛的交流与合作平台。本届大会主题:洞悉微观,预见未来。会议概况——人工智能、分子模拟赋能科技研发创新过去20年,以计算化
- Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
- 【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
- linux 查看端口被占用情况详解
daizj
linux端口占用netstatlsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
- Hosts文件使用
周凡杨
hostslocahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
- java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
- web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereportweb报表函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
- 游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- 高性能mysql 之 选择存储引擎(一)
annan211
mysqlInnoDBMySQL引擎存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
- UDP网络编程
百合不是茶
UDP编程局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
- JQuery对象的val()方法执行结果分析
bijian1013
JavaScriptjsjquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
- http请求测试实例(采用json-lib解析)
bijian1013
jsonhttp
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
- 【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
- 【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
- nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
- java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
- mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
- [宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
- Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
- MySQL连接数据库的必须配置
dashuaifu
mysql连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
- 一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
- [介绍]Yii 是什么
dcj3sjt126com
PHPyii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
- Linux SSH常用总结
eksliang
linux sshSSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh [email protected]
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
- 快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
- jQuery入门之怎么使用
ini
JavaScripthtmljqueryWebcss
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
- 带filter的hbase查询优化
kane_xie
查询优化hbaseRandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
- java设计模式-单例模式
men4661273
java单例枚举反射IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
- mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
- 二维数组转换成JSON
tangqi609567707
java二维数组json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
- erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_
|