<NestJS源码精读(1): 启动与依赖注入/>

March 09, 2023

如果要说近几年NodeJS开发者中最流行和热门的MVC框架,那非NestJS莫属了。下图是2012年至2023年Github上各个知名NodeJS Web框架的Star数趋势: 我们可以直观得看出,从2018年以来,就异军突起,力压,和,仅用两年时间就稳居最受环境的NodeJS框架至今。 NestJS作为一个受Spring和Angular启发的框架,实现了非常优秀的依赖注入功能。那我们今天就从NestJS的启动过程开始,了解一下他是如何做好依赖注入这一件“小”事的吧。 本文基于NestJS…

<使用AWS Athena搭建基于S3的数据湖(1): 概念与架构/>

December 21, 2022

机器学习和大数据分析技术在过去十年内高速发展,到今天已经成为了现代化的服务与应用不可或缺的一部分。而搭建一套数据湖系统则是开始将机器学习与数据分析带到项目中的第一步。在这几篇文章里,我们将会学习到如何使用服务与文件存储搭建一套完整的数据湖解决方案。 1. AWS的数据湖 在AWS的这篇文章中,阐述了与的主要区别。简单地概括一下即: “数据仓库”一般指存储结构化业务数据的系统,数据的Schema在数据存储时就已经确定(),这种系统经常用来做批量的业务数据分析以及可视化。比较典型的例子就是AWS…

<关键信息提取网络SDMGR代码详解(4): 损失函数与模型评估/>

August 19, 2022

在前面的几篇文章中,我们结合代码介绍了关键信息提取(KIE)任务网络SDMGR(Spatial Dual-Modality Graph Reasoning for Key Information Extraction)的整个前向计算过程,包含了处理图片信息的主干网络U-Net,处理文字信息的LSTM,以及特征融合的图神经网络部分。今天就让我们继续看看SDMGR的损失函数以及模型评估部分吧。 1. 损失函数 损失函数部分的代码位于。我们先来看一下损失函数的前向计算: 相对而言,SDMGR…

<关键信息提取网络SDMGR代码详解(3): 循环神经网络与图神经网络/>

July 12, 2022

在上篇文章关键信息提取网络SDMGR代码详解(2): 数据处理与主干网络中我们结合代码介绍了PaddleOCR中用于关键信息提取(KIE)任务网络SDMGR(Spatial Dual-Modality Graph Reasoning for Key Information Extraction)的主干网络部分。今天我们了解对文字部分处理的循环神经网络LSTM与融合多模态特征后进行图推理的图神经网络模块。而这两个模块也是SDMGR网络中最重要也是最复杂的模块。 这两部分的代码都位于。…

<关键信息提取网络SDMGR代码详解(2): 数据处理与主干网络/>

July 06, 2022

在上篇文章关键信息提取网络SDMGR代码详解(1): 概览与应用中我们简单介绍了PaddleOCR中用于关键信息提取(KIE)任务网络SDMGR(Spatial Dual-Modality Graph Reasoning for Key Information Extraction)并且手动尝试使用预训练模型对WildReceipt数据集进行了推理。那这篇文章我们就从头开始对网络的代码实现逐步解读一下吧。…

<关键信息提取网络SDMGR代码详解(1): 概览与应用/>

June 27, 2022

在上篇文章Windows环境下利用WSL搭建GPU训练/推理PaddlePaddle神经网络环境中我们简单介绍了如何在Windows的WSL2环境中搭建PaddlePaddle的GPU训练/推理环境,那么这次就来结合代码一起来看看PaddleOCR中KIE模块: SDMGR网络的代码与如何推理/训练吧。 1. 什么是KIE任务与SDMGR网络 KIE(Key Infomation Extraction…