202109-16 详解批处理框架之Spring Batch 目录一、SpringBatch的概念知识1.1、分层架构1.2、关键概念1.2.1、JobRepository1.2.2、任务启动器JobLauncher1.2.3、任务Job1.2.4、步骤Step1.2.5、输入——处理——输出二、代码实例2.1、基本框架2.2、输入——处理——输出2.2.1、读取ItemReader2.2.2、处理ItemProcessor2.2.3、输出ItremWriter2.3、Step2.4、Job2.5、运行三、监听Listener一、SpringBatch的概念知识1.1、分层架构SpringBatch的分层架构图如下:可以看到它分... 继续阅读 >
202109-14 Spring Batch 入门示例 目录1.SpringBatch框架工作原理2.示例概述3.Maven配置4.SpringBoot配置5.创建实体模型6.配置SpringBatchJob7.处理数据8.测试SpringBatch示例我将向您展示如何使用SpringBoot创建一个的SpringBatch的HelloWorld示例。(循序渐进)因此,如果您是SpringBatch的初学者,您一定会喜欢本指南。准备好了吗?如果您想了解更多关于SpringBatch的信息,请访问SpringBatch教程页面。1.SpringBatch框架工作原理在深入研... 继续阅读 >
202107-17 解决Pytorch中Batch Normalization layer踩过的坑 1.注意momentum的定义Pytorch中的BN层的动量平滑和常见的动量法计算方式是相反的,默认的momentum=0.1BN层里的表达式为:其中γ和β是可以学习的参数。在Pytorch中,BN层的类的参数有:CLASStorch.nn.BatchNorm2d(num_features,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True)每个参数具体含义参见文档,需要注意的是,affine定义了BN层的参数γ和β是否是可学习的(不可学习默认是常数1和0).2.注意BN层中含... 继续阅读 >
202107-08 pytorch 带batch的tensor类型图像显示操作 项目场景pytorch训练时我们一般把数据集放到数据加载器里,然后分批拿出来训练。训练前我们一般还要看一下训练数据长啥样,也就是训练数据集可视化。那么如何显示dataloader里面带batch的tensor类型的图像呢?显示图像绘图最常用的库就是matplotlib:pipinstallmatplotlib显示图像会用到matplotlib.pyplot.imshow方法。查阅官方文档可知,该方法接收的图像的通道数要放到后面:数据加载器中数据的维度是[B,C,H,W],我们每次只... 继续阅读 >
202010-10 手把手教你搭建第一个Spring Batch项目的步骤 一、概述SpringBatch是一个轻量级,全面的批处理框架。一个典型的批处理过程可能是:从数据库,文件或队列中读取大量记录。以某种方式处理数据。以修改之后的形式写回数据SpringBatch应用架构图:一个Batch(批处理)过程由一个Job(作业)组成。这个实体封装了整个批处理过程。一个Job(作业)可以由一个或多个Step(步骤)组成。在大多数情况下,一个步骤将读取数据(通过ItemReader),处理数据(使用ItemProcessor),然后写入... 继续阅读 >
202010-08 spring batch使用reader读数据的内存容量问题详解 概述本篇博客是记录使用springbatch做数据迁移时时遇到的一个关键问题:数据迁移量大时如何保证内存。当我们在使用springbatch时,我们必须配置三个东西:reader,processor,和writer。其中,reader用于从数据库中读数据,当数据量较小时,reader的逻辑不会对内存带来太多压力,但是当我们要去读的数据量非常大的时候,我们就不得不考虑内存等方面的问题,因为若数据量非常大,内存,执行时间等等都会受到影响。关于springbatc... 继续阅读 >
202010-08 keras中epoch,batch,loss,val_loss用法说明 1、epochKeras官方文档中给出的解释是:“简单说,epochs指的就是训练过程接中数据将被“轮”多少次”(1)释义:训练过程中当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一个epoch,网络会在每个epoch结束时报告关于模型学习进度的调试信息。(2)为什么要训练多个epoch,即数据要被“轮”多次在神经网络中传递完整的数据集一次是不够的,对于有限的数据集(是在批梯度下降情况下),使用一个迭代过程,更新... 继续阅读 >
202010-07 Keras框架中的epoch、bacth、batch size、iteration使用介绍 1、epochKeras官方文档中给出的解释是:“简单说,epochs指的就是训练过程接中数据将被“轮”多少次”(1)释义:训练过程中当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一个epoch,网络会在每个epoch结束时报告关于模型学习进度的调试信息。(2)为什么要训练多个epoch,即数据要被“轮”多次在神经网络中传递完整的数据集一次是不够的,对于有限的数据集(是在批梯度下降情况下),使用一个迭代过程,更新... 继续阅读 >
202009-30 基于mybatis batch实现批量提交大量数据 很多人在用MyBatis或者通用Mapper时,经常会问有没有批量插入和批量更新的方法。实际上许多时候没必要用<foreach>去实现特别复杂的批量操作。直接通过MyBatis的BATCH方式执行增删改方法即可。下面是一个批量用法的例子:在xml文件配置多条参数同时插入:<insertid="insertBatch2"parameterType="ctas.entity.SharkFlt"><selectKeykeyProperty="recId"order="BEFORE"resultType="Long">selectSEQ_CTAS_SHARK... 继续阅读 >