当前位置: 首页 > news >正文

ResNeXt(2017)


文章目录

  • Abstract
  • 1. Introduction
    • former work
    • our work
  • 2. Related Work
    • 多分支卷积网络
    • 分组卷积
    • 压缩卷积网络
    • Ensembling
  • 3. Method
    • 3.1. Template
    • 3.2. Revisiting Simple Neurons
    • 3.3. Aggregated Transformations
    • 3.4. Model Capacity
  • 4. Experiment

原文地址
源代码

Abstract

我们提出了一个简单的、高度模块化的图像分类网络体系结构。我们的网络是通过重复构建块来构建的,该构建块聚合了具有相同拓扑结构的一组变换。我们的简单设计产生了一个同质的、多分支的体系结构,只有几个超参数需要设置。这个策略暴露了一个新的维度,我们称之为“基数”(转换集合的大小),作为深度和宽度维度之外的一个重要因素。在ImageNet-1K数据集上,我们的经验表明,即使在维持复杂性的限制条件下,增加基数也能够提高分类精度。此外**,当我们增加容量时,增加基数比加深或扩大宽度更有效**。我们的模型ResNeXt是我们进入ILSVRC 2016分类任务的基础,我们在该任务中获得了第二名。我们在ImageNet-5K集和COCO检测集上进一步研究了ResNeXt,也显示出比ResNet更好的结果

1. Introduction

视觉识别研究正经历着从“特征工程”到“网络工程”的过渡[25,24,44,34,36,38,14]。与传统的手工设计特征(例如SIFT[29]和HOG[5])相比,神经网络从大规模数据中学习的特征[33]在训练过程中需要最少的人工参与,并且可以转移到各种识别任务中[7,10,28]。然而,人类的努力已经转移到设计更好的网络架构来学习表征
简要介绍了下以前的backbone,并diss了下他们的不足

former work

VGG-nets展示了一种简单而有效的构建深度网络的策略:把相同形状的块堆叠起来
该策略被ResNets[14]继承,ResNets堆叠相同拓扑的模块。这个简单的规则减少了超参数的自由选择,并且深度暴露为神经网络的一个基本维度。此外,我们认为该规则的简单性可以降低对特定数据集过度适应超参数的风险。VGG-nets和ResNets的鲁棒性已被各种视觉识别任务[7,10,9,28,31,14]以及涉及语音[42,30]和语言[4,41,20]的非视觉任务证明
与VGG-nets不同,Inception模型家族[38,17,39,37]已经证明,精心设计的拓扑结构能够以较低的理论复杂性实现令人信服的准确性
Inception模型随着时间的推移而发展[38,39],但是一个重要的共同属性是分裂-转换-合并策略。在Inception模块中,输入被分成几个低维嵌入(通过1×1卷积),由一组专门的过滤器(3×3, 5×5等)进行转换,并通过连接进行合并。可以证明,该体系结构的解空间是运行在高维嵌入上的单个大层(例如5×5)的解空间的严格子空间。Inception模块的拆分-转换-合并行为被期望接近大型和密集层的表示能力,但是在相当低的计算复杂性下

our work

在本文中,我们提出了一个简单的架构,它采用了VGG/ResNets的重复层策略,同时以一种简单、可扩展的方式利用了分裂-转换-合并策略。我们的网络中的一个模块执行一组转换,每个转换都在一个低维嵌入上,其输出通过求和来聚合。我们追求这个想法的一个简单实现——要聚合的转换都是相同的拓扑(例如,图1(右))。这种设计允许我们扩展到任何大量的转换,而无需专门的设计
有趣的是,在这种简化的情况下,我们发现我们的模型还有另外两种等效形式(图3)。图3(b)中的重新表述看起来类似于Inception- ResNet模块[37],因为它连接了多条路径;但是我们的模块与所有现有的Inception模块的不同之处在于,我们所有的路径都共享相同的拓扑结构,因此路径的数量可以很容易地作为一个要研究的因素被隔离出来。在更简洁的重新表述中,我们的模块可以通过Krizhevsky等人的分组卷积(groups convolutions)24进行重塑,然而,这已经被开发为一种工程折衷方案

(a):聚合残差变换,与图1右图相同。(b):相当于(A)的块,作为早期连接实现。©:相当于(A,b)的块,实现为分组卷积[24]。加粗文字的注释突出了重新表述的变化。层表示为(#输入通道,过滤器大小,#输出通道)

我们通过经验证明,即使在保持计算复杂性和模型大小的限制条件下,我们的聚合变换也优于原始ResNet模块——例如,图1(右)的设计是为了保持图1(左)的FLOPs复杂性和参数数量。我们强调,虽然通过增加容量(更深入或更广泛)来提高准确性相对容易,但在保持(或降低)复杂性的同时提高准确性的方法在文献中很少

我们的方法表明,除了宽度和深度的维度外,基数(变换集的大小)是一个具体的、可测量的维度,这是至关重要的。实验表明,增加基数是一种比深度或宽度更有效的获得精度的方法,特别是当深度和宽度开始使现有模型的收益递减时

我们的神经网络,命名为ResNeXt(建议下一个维度),在ImageNet分类数据集上优于ResNet-101/152 [14], ResNet- 200 [15], Inception-v3[39]和Inception-ResNet-v2[37]。特别是,101层的ResNeXt能够达到比ResNet-200更好的精度[15],但只有50%的复杂性。此外,ResNeXt展示了比所有Inception模型更简单的设计。ResNeXt是我们参加ILSVRC 2016分类任务的基础,我们获得了第二名。本文在更大的ImageNet-5K集和COCO对象检测数据集上进一步评估了ResNeXt[27],显示出比ResNet同类产品更好的准确性。我们希望ResNeXt也能很好地推广到其他视觉(和非视觉)识别任务

2. Related Work

多分支卷积网络

Inception模型[38,17,39,37]是成功的多分支架构,其中每个分支都是精心定制的。ResNets[14]可以被认为是一个双分支网络,其中一个分支是身份映射。深度神经决策森林[22]是具有学习分裂函数的树形多分支网络

分组卷积

分组卷积的使用可以追溯到AlexNet论文[24],如果不是更早的话。Krizhevsky等人[24]给出的动机是将模型分布在两个gpu上。分组卷积由Caffe [19], Torch[3]等库支持,主要是为了AlexNet的兼容性。据我们所知,很少有证据表明利用分组卷积来提高准确率。**分组卷积的一种特殊情况是通道型卷积,其中组的数量等于通道的数量。**通道型卷积是[35]中可分离卷积的一部分

压缩卷积网络

分解(在空间[6,18]和/或通道[6,21,16]级别)是一种广泛采用的技术,用于减少深度卷积网络的冗余并加速/压缩它们。Ioannou等人[16]提出了一种“根”模式的网络进行约简计算,根中的分支通过分组卷积实现。这些方法[6,18,21,16]在较低的复杂性和较小的模型尺寸下显示了精度的优雅妥协。而不是压缩,我们的方法是一个架构,经验显示出更强的表征能力

Ensembling

对一组独立训练的网络进行平均是提高准确率的有效解决方案[24],在识别竞赛中被广泛采用[33]。Veit等人[40]将单个ResNet解释为较浅网络的集合,这是由ResNet的加性行为造成的[15]。我们的方法利用加法来聚合一组转换。但我们认为,将我们的方法视为集成是不精确的,因为要聚合的成员是联合训练的,而不是独立训练的。

3. Method

3.1. Template

我们采用高度模块化的VGG/ResNets设计,我们的网络由一堆残差块组成
这些块具有相同的拓扑结构,并且受VGG/ResNets Inception的两个简单规则的约束:(i)如果产生相同大小的空间映射,则块共享相同的超参数(宽度和过滤器大小),并且(ii)每次当空间映射被下采样2倍时,块的宽度(通道数)乘以2倍。第二条规则确保所有块的计算复杂度(以flop(浮点运算,以乘法加的次数计算)为单位)大致相同
有了这两条规则,我们只需要设计一个模板模块,一个网络中的所有模块都可以据此确定。所以这两条规则大大缩小了设计空间,使我们能够专注于几个关键因素。这些规则构建的网络如表1所示,C指的是基数4d指的是通道数为4

3.2. Revisiting Simple Neurons

人工神经网络中最简单的神经元执行内积(加权和),这是由全连接层和卷积层完成的初等变换。内积可以看作是集合变换的一种形式:

式中x = [x 1,x 2,…],x D是神经元的D通道输入向量,w i是第i个通道的滤波器权值。这种操作(通常包括一些非线性输出)被称为“神经元”。见图2

上述操作可以重新转换为拆分、转换和聚合的组合。
(i)分割:将向量x分割为一个低维嵌入,在上面,它是一个一维子空间xi
(ii)变换:对低维表示进行变换,在上面,它被简单地缩放为:wi x i
(iii)聚合:所有嵌入中的转换通过ΣD i=1

3.3. Aggregated Transformations

给定上述对一个简单神经元的分析,我们考虑用一个更一般的函数代替初等变换(wi x i),它本身也可以是一个网络。与“Network-in-Network”[26]相反,我们表明我们的“Network-in-Neuron”沿着一个新的维度扩展。
形式上,我们将聚合转换表示为:

其中Ti (x)可以是任意函数。类似于一个简单的神经元,T i应该将x投射到一个(可选的低维)嵌入中,然后对其进行变换
在公式(2)中,C是要聚合的转换集合的大小。我们将C称为基数[2]。在Eqn.(2)中,C的位置与Eqn.(1)中D的位置相似,但C不必等于D,可以是任意数。虽然宽度的维度与简单变换(内积)的数量有关,但我们认为基数的维度控制着更复杂变换的数量。我们通过实验证明,基数是一个重要的维度,可以比宽度和深度的维度更有效

在本文中,我们考虑了一种设计变换函数的简单方法:所有的T具有相同的拓扑。这扩展了vgg风格的重复相同形状的层的策略,这有助于隔离一些因素并扩展到任何大量的转换。我们将单个转换t1设置为瓶颈形架构[14],如图1(右)所示。在这种情况下,每个t1中的第一个1×1层产生低维嵌入。

Eqn.(2)中的聚合变换作为残差函数14:
与Inception-ResNet的关系:一些张量操作表明,图1(右)中的模块(也显示在图3(a)中)等价于图3(b)。图3(b)与Inception-ResNet[37]块相似,在残差函数中涉及分支和连接。但与所有Inception或Inception- resnet模块不同,我们在多个路径中共享相同的拓扑结构。我们的模块只需要最少的额外工作来设计每条路径
与分组卷积的关系:使用分组卷积的表示法,上述模块变得更加简洁[24]。图3©说明了这种重新配方。所有的低维嵌入(第一个1×1层)都可以被单个更宽的层(例如,图3©中的1×1, 128-d)所取代分裂本质上是由分组卷积层在将其输入通道分成组时完成的。图3©中的分组卷积层每形成32组卷积,其输入输出通道为4维。分组卷积层将它们连接起来作为层的输出。图3©中的块看起来与图1(左)中的原始瓶颈剩余块相似,只是图3©是一个更宽但稀疏连接的模块

我们注意到,只有当块的深度≥3时,重新表述才会产生非平凡拓扑。如果该块的深度为2(例如,[14]中的基本块),则重新表述通常会导致一个宽而密集的模块。如图4所示
讨论:我们注意到,尽管我们提出了显示串联(图3(b))或分组卷积(图3©)的重新表述,但这种重新表述并不总是适用于Eqn(3)的一般形式,例如,如果变换ti采用任意形式并且是异质的。我们在本文中选择使用同质表单,因为它们更简单和可扩展。在这种简化情况下,图3©形式的分组卷积有助于简化实现

3.4. Model Capacity

我们的模型在保持模型复杂性和参数数量的情况下提高了准确性。这不仅在实践中很有趣,更重要的是,参数的复杂性和数量代表了模型的固有能力,因此经常作为深度网络的基本属性进行研究[8]

瓶颈宽度通常指的是ResNeXt中的瓶颈结构中最中间那一层的通道数或特征图的维度。ResNeXt的基本结构由一系列的瓶颈块组成,其中的瓶颈块包含了三个卷积层,中间那一层通常是瓶颈宽度所指的地方。这个瓶颈宽度的选择可以影响模型的复杂度和性能

当我们评估不同的基数C时,同时保持复杂性,我们希望最小化对其他超参数的修改。我们选择调整瓶颈的宽度(例如图1(右)中的4-d),因为它可以与块的输入和输出隔离。这种策略不会改变其他超参数(深度或块的输入/输出宽度),因此有助于我们关注基数的影响
在图1(左)中,原始ResNet瓶颈块[14]具有256·64+3·3·64·64+64·256≈70k参数和比例FLOPs(在相同的特征图大小下)。当瓶颈宽度为d时,我们在图1(右)中的模板具有:
参数和比例FLOPs。当C = 32, d = 4时,Eqn.(4)≈70k。表2显示了基数C和瓶颈宽度d之间的关系

基数和宽度之间的关系(对于conv2的模板),在残差块上大致保留复杂度。对于conv2的模板,参数的数量为~ 70k。FLOPs的数量为~ 2.2亿(conv2的# params×56×56)

因为我们在3.1节中采用了这两个规则,所以上面的近似相等在ResNet瓶颈块和ResNeXt之间的所有阶段都是有效的(除了特征映射大小变化的子采样层)。表1比较了原始的ResNet-50和具有类似容量的ResNeXt-50。我们注意到,复杂性只能近似地保留,但复杂性的差异很小,不会影响我们的结果

4. Experiment





相关文章:

ResNeXt(2017)

文章目录 Abstract1. Introductionformer workour work 2. Related Work多分支卷积网络分组卷积压缩卷积网络Ensembling 3. Method3.1. Template3.2. Revisiting Simple Neurons3.3. Aggregated Transformations3.4. Model Capacity 4. Experiment 原文地址 源代码 Abstract 我…...

DreamPlace 的下载安装与使用

DreamPlace 是一款芯片放置工具,用于宏单元(macro)和标准单元(Standard Cell)的放置以及布线,并计算 HPWL、Overlap 等用于衡量芯片性能的参数。 一、环境 1. 系统环境:Ubuntu 20.04 DreamPla…...

FPGA模块——SPI协议(读写FLASH)

FPGA模块——SPI协议(读写FLASH) (1)FLASH芯片 W25Q16BV(2)SPI协议(3)芯片部分命令1.Write Enable(06h)2.Chip Erase (C7h / 60h)3.写指令(02h&am…...

SQL自学通之表达式条件语句与运算

目录 一、目标 二、表达式条件语句 1、表达式: 2、条件 2.1、WHERE 子句 三、运算 1、数值型运算: 1.1、加法() 1.2、减法 (-) 1.3、除法(/) 1.4、乘法 (*) 1.5、取模 (%) 优先级别…...

公网域名如何解析到内网IP服务器——快解析域名映射外网访问

在本地搭建主机应用后,由于没有公网IP或没有公网路由权限,在需要发布互联网时,就需要用到外网访问内网的一些方案。由于内网IP在外网不能直接访问,通常就用通过外网域名来访问内网的方法。那么,公网域名如何解析到内网…...

线程安全与并发区别

在并发编程中,"线程安全 "和 "并发 "是相关的概念,但它们有着不同的含义。 线程安全 如果一个类或方法可以同时被多个线程使用,而不会导致数据损坏或意外行为,那么这个类或方法就被认为是线程安全的。即使多…...

SEO优化是什么,如何进行SEO优化

SEO(Search Engine Optimization)是指通过对网站进行优化,提高其在搜索引擎中的排名,从而增加有机流量和改善用户体验的一系列技术和方法。 进行SEO优化可以帮助网站获得更多的有机搜索流量,并提升网站的曝光度和可见…...

nodejs发起http或https请求

前言:使用node内置模块http、https http请求 const express require(express) const http require(http)const app express()const loginConfig (token) > {return {hostname: api.test.com,port: 80,path: /test?access_token${token},method: GET} }app.…...

举例C#使用特性排除某些类成员不参与XML序列化和反序列化

在C#中,可以使用 [XmlIgnore] 特性来排除某些类成员不参与XML序列化和反序列化。这个特性告诉XML序列化器忽略被标记的成员。 以下是一个使用 [XmlIgnore] 特性的示例: using System; using System.IO; using System.Xml.Serialization;public class P…...

PHP基础 - 输入输出

在 PHP 中,有多种方法可以用来输出内容。下面是其中的几种: 1、echo: 这是最常见的输出语句之一,可以输出一个或多个字符串。它是一个语言结构,可以省略括号。使用示例如下: <?php // 使用 echo 语句输出一个字符串 echo "Hello, world!\n";// 可以使用…...

大创项目推荐 交通目标检测-行人车辆检测流量计数 - 大创项目推荐

文章目录 0 前言1\. 目标检测概况1.1 什么是目标检测&#xff1f;1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 毕业设计…...

利用R语言heatmap.2函数进行聚类并画热图

数据聚类然后展示聚类热图是生物信息中组学数据分析的常用方法&#xff0c;在R语言中有很多函数可以实现&#xff0c;譬如heatmap,kmeans等&#xff0c;除此外还有一个用得比较多的就是heatmap.2。最近在网上看到一个笔记文章关于《一步一步学heatmap.2函数》&#xff0c;在此与…...

伦茨科技宣布ST17H6x芯片已通过Apple Find My「查找」认证

深圳市伦茨科技有限公司&#xff08;以下简称“伦茨科技”&#xff09;发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家&#xff0c;该平台提供可通过Apple Find My认证的Apple查找&#xff08;Find My&#xff09;功能集成解决方案。…...

nodejs微信小程序+python+PHP的游戏测评网站设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…...

在 JavaScript 中导入和导出 Excel XLSX 文件:SpreadJS

在 JavaScript 中导入和导出 Excel XLSX 文件 2023 年 12 月 5 日 使用 MESCIUS 的 SpreadJS 将完整的 JavaScript 电子表格添加到您的企业应用程序中。 SpreadJS 是一个完整的企业 JavaScript 电子表格解决方案&#xff0c;用于创建财务报告和仪表板、预算和预测模型、科学、工…...

【Pytorch】Fizz Buzz

文章目录 1 数据编码2 网络搭建3 网络配置&#xff0c;训练4 结果预测5 翻车现场 学习参考来自&#xff1a; Fizz Buzz in Tensorflowhttps://github.com/wmn7/ML_Practice/tree/master/2019_06_10Fizz Buzz in Pytorch I need you to print the numbers from 1 to 100, excep…...

C++ Primer Plus第十四章笔记

目录 1.包含对象成员的类 valarray类简介 1.2 Student类的设计 1.3 接口和实现 1.4 C和约束 2. 私有继承 2.1 私有继承和组合的异同 2.2 初始化基类组件 2.3 访问基类的方法 2.4 访问基类对象 2.5 访问基类的友元函数 2.5 使用组合还是私有继承 3. 保护继承 4. 使…...

CentOS 7 mini 运行环境搭建与测试——CentOS Mini 安装ifconfig工具【云原生开发部署实践笔记】

云原生开发部署实践笔记 一、开发测试环境搭建与测试 1.1 Linux运行环境的搭建与测试 虽然CentOS已经更新到Stream 9 版本&#xff0c;但基于大多数企业和单位多数使用CentOS 7版本作为运行底座&#xff0c;7版本也一直在更行维护&#xff0c;此实践基于CentOS 7 Mini版本搭…...

案例061:基于微信小程序的互助学习系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…...

【ELK03】ES 索引的Mapping映射详解、数据类型和settings属性设置

一、ES 索引的映射和设置 1.MAPPING 映射(MAPPING)就是es中一个决定了文档如何存储,如何生成索引,字段各种类型定义的过程.类似于我们在关系型数据库中创建一个表格数据之前先定义表格有哪些字段,每个字段是什么类型,然后数据会按照这个配置写入表格,ES中同样是这个过程,它由…...

线性代数入门与学习笔记

该内容为重拾部分线性代数知识的学习笔记&#xff0c;内容上更多的是为了解决问题而学习的内容&#xff0c;并非系统化的学习。 针对的问题为&#xff1a;Music算法推导求解过程中的矩阵计算知识。 学习的内容包括&#xff1a;矩阵原理、矩阵行列式、矩阵的秩、线性变换矩阵变换…...

Linux安全学习路标

1. 操作系统基础知识 首先&#xff0c;你需要建立坚实的操作系统基础知识&#xff0c;包括Linux文件系统和目录结构、Linux进程管理、权限管理等基本概念。 2. 网络和通信安全 学习关于网络和通信安全的基础知识&#xff0c;包括TCP/IP协议栈、网络攻击类型、防火墙配置、网…...

常见的中间件--消息队列中间件测试点

最近刷题&#xff0c;看到了有问中间件的题目&#xff0c;于是整理了一些中间件的知识&#xff0c;大多是在小破站上的笔记&#xff0c;仅供大家参考~ 主要分为七个部分来分享&#xff1a; 一、常见的中间件 二、什么是队列&#xff1f; 三、常见消息队列MQ的比较 四、队列…...

【USRP】5G / 6G OAI 系统 5g / 6G OAI system

面向5G/6G科研应用 USRP专门用于5G/6G产品的原型开发与验证。该系统可以在实验室搭建一个真实的5G 网络&#xff0c;基于开源的代码&#xff0c;专为科研用户设计。 软件无线电架构&#xff0c;构建真实5G移动通信系统 X410 采用了目前流行的异构式系统&#xff0c;融合了FP…...

ubuntu20.04设置开机自启动jar(依赖其他服务)

目的&#xff1a; 有的时候我们的项目是部署在物理机上给其他公司员工使用&#xff0c;对于他们来说操作越简单越好。所以我需要实现将我的jar部署在ubuntu上&#xff0c;实现开机自启。&#xff08;我的项目依赖emqx服务&#xff09;。 步骤&#xff1a; 切换到system目录 …...

【GEE笔记】在线分类流程,标注样本点、分类和精度评价

GEE在线分类流程 介绍 GEE&#xff08;Google Earth Engine&#xff09;是一个强大的地理信息处理平台&#xff0c;可以实现在线的遥感影像分析和处理。本文将介绍如何使用GEE进行在线的分类流程&#xff0c;包括标注样本点、分类和精度评价。本文以2020年5月至8月的哨兵2影像…...

MATLAB基础运算

矩阵和数字相乘 就是矩阵里面每个元素跟这个数字乘一遍 矩阵和矩阵相乘 能不能相乘&#xff0c;需要前面矩阵的列数等于后面矩阵的行数&#xff0c;出来的矩阵大小是前面矩阵的行数*后面矩阵的列数。 所以大家会发现&#xff0c;矩阵相乘如果前后调转了&#xff0c;结果会完全…...

Linux DAC权限的简单应用

Linux的DAC&#xff08;Discretionary Access Control&#xff09;权限模型是一种常见的访问控制机制&#xff0c;它用于管理文件和目录的访问权限。作为一名经验丰富的Linux系统安全工程师&#xff0c;我会尽可能以简单明了的方式向计算机小白介绍Linux DAC权限模型。 在Linu…...

JVS低代码表单引擎:数据校验与处理的先锋

随着信息技术的迅速发展&#xff0c;数据校验与处理已经成为了各类应用中不可或缺的一环。尤其是在涉及敏感信息&#xff0c;如密码处理时&#xff0c;其安全性和准确性显得尤为重要。JVS低代码表单引擎提供了强大的文本组件触发逻辑校验功能&#xff0c;它能够在用户填写数据的…...

clickhouse删除partition分区数据

clickhouse分布式表tencent_table_20231208_DIST&#xff0c;本地表tencent_table_20231208_local&#xff1b; 30台clickhouse存储服务器&#xff1b; 本地表&#xff1a;tencent_table_20231208_local CREATE TABLE tencent_sz.tencent_table_20231208_local (id Int64 DEFA…...

持续集成交付CICD:CentOS 7 安装 Nexus 3.63

目录 一、实验 1.CentOS 7 安装Nexus3.63 二、问题 1.安装Nexus报错 2.Nexus启动停止相关命令 一、实验 1.CentOS 7 安装Nexus3.63 &#xff08;1&#xff09;当前操作系统版本&JDK版本 cat /etc/redhat-releasejava -version&#xff08;2&#xff09;下载Nexus新…...

Apache Flink(十):Flink集群基础环境搭建-JDK及MySQL搭建

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录...

LVS-DR+Keepalived+动静分离实验

架构图 解释一下架构&#xff0c;大概就是用Keepalived实现两台DR服务器的LVS负载均衡&#xff0c;然后后端服务器是两台Nginx服务器两台Tomcat服务器并且实现动静分离这个实验其实就是把 LVS-DRKeepalived 和 动静分离 给拼起来&#xff0c;真的是拼起来&#xff0c;两个部分…...

java面试题-Hashmap、Hashtable、ConcurrentHashMap原理

远离八股文&#xff0c;面试大白话&#xff0c;通俗且易懂 看完后试着用自己的话复述出来。有问题请指出&#xff0c;有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来&#xff0c;大家一起解决。 java面试题汇总-目录-持续更新中 Hashmap和hashtable存储…...

数据可视化:解锁企业经营的智慧之道

在现代企业管理中&#xff0c;数据可视化已经成为了一项重要的工具。它不仅仅是简单地展示数据&#xff0c;更是提供了深入理解数据、做出更明智决策的方法。作为一名可视化设计从业人员&#xff0c;我经手过一些企业自用的数据可视化项目&#xff0c;今天就来和大家聊聊数据可…...

JVM 性能调优

概述篇 面试题 讲讲你理解的性能评价及测试指标&#xff1f;&#xff08;瓜子&#xff09; 生产环境中的问题 生产环境发生了内存溢出该如何处理&#xff1f;生产环境应该给服务器分配多少内存合适&#xff1f;如何对垃圾回收器的性能进行调优&#xff1f;生产环境CPU负载飙高…...

linux常用命令-yum命令详解(超详细)

文章目录 前言一、yum命令介绍1. yum命令简介2. yum命令的基本语法3. 常用的yum命令选项4. 常用的yum命令参数 二、yum命令示例用法1. 安装软件包2. 更新软件包3. 删除软件包4. 搜索软件包5. 列出已安装的软件包6. 列出可用的软件包7. 清理缓存8. 禁用软件包仓库 总结 前言 yu…...

解决 Element-ui中 表格(Table)使用 v-if 条件切换后,表格的列的筛选不显示了

解决方法 在每个需要使用 v-if 或 v-else 的 el-table-column 上增加 key 作为唯一标识&#xff0c;这样渲染的时候就不会因为复用原则导致列数据混乱了。关于key值&#xff0c;一般习惯使用字段名&#xff0c;也可随机生成一个值&#xff0c;只要具有唯一性就可以。...

Navicat 技术指引 | 适用于 GaussDB 分布式的自动运行功能

Navicat Premium&#xff08;16.3.3 Windows 版或以上&#xff09;正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结…...

爬虫 selenium语法 (八)

目录 一、为什么使用selenium 二、selenium语法——元素定位 1.根据 id 找到对象 2.根据标签属性的属性值找到对象 3.根据Xpath语句获取对象 4.根据标签名获取对象 5.使用bs语法获取对象 6.通过链接文本获取对象 三、selenium语法——访问元素信息 1.获取属性的属性值…...

NTP时钟同步服务器(校时服务器)技术参数分享

NTP时钟同步服务器&#xff08;校时服务器&#xff09;技术参数分享 网络校时服务器是一款先进的智能化高精度时钟同步设备。 网络校时服务器从 GPS、北斗、GLONASS、Galileo等导航定位卫星系统上获取标准时间信息&#xff0c;并通过 NTP/SNTP 或其他网络协议&#xff0c;在网络…...

JDBC详解——增删改查(CRUD)、sql注入、事务、连接池

1. 概念&#xff1a; Java DataBase Connectivity&#xff0c; Java 数据库连接&#xff0c; Java语言操作数据库 JDBC本质&#xff1a;其实是官方&#xff08;sun公司&#xff09;定义的一套操作所有关系型数据库的规则&#xff0c;即接口。各个数据库厂商去实现这套接口&…...

K-means算法通俗原理及Python与R语言的分别实现

K均值聚类方法是一种划分聚类方法&#xff0c;它是将数据分成互不相交的K类。K均值法先指定聚类数&#xff0c;目标是使每个数据到数据点所属聚类中心的总距离变异平方和最小&#xff0c;规定聚类中心时则是以该类数据点的平均值作为聚类中心。 01K均值法原理与步骤 对于有N个…...

使用 db2diag 工具来分析 db2diag 日志文件

供数据库和系统管理员使用的主日志文件为管理通知日志。db2diag 日志文件旨在供 IBM 软件支持机构用于进行故障诊断。 管理通知日志消息也以标准化消息格式记录到 db2diag 日志文件。 db2diag 工具用于对 db2diag 日志文件中的大量信息进行过滤和格式化。过滤 db2diag 日志文…...

在Pytorch中使用Tensorboard可视化训练过程

这篇是我对哔哩哔哩up主 霹雳吧啦Wz 的视频的文字版学习笔记 感谢他对知识的分享 本节课我们来讲一下如何在pytouch当中去使用我们的tensorboard 对我们的训练过程进行一个可视化 左边有一个visualizing models data and training with tensorboard 主要是这么一个教程 那么这里…...

Redis 命令全解析之 Hash类型

文章目录 ⛄介绍⛄命令⛄RedisTemplate API⛄应用场景 ⛄介绍 Hash类型&#xff0c;也叫散列&#xff0c;其value是一个无序字典&#xff0c;类似于Java中的 HashMap 结构。 String结构是将对象序列化为JSON字符串后存储&#xff0c;当需要修改对象某个字段时很不方便&#xf…...

postgresql数据库配置主从并配置ssl加密

1、先将postgresql数据库主从配置好 参考&#xff1a;postgresql主从配置 2、在主节点配置ssl加密&#xff0c;使用navicat测试是否可以连接 参考&#xff1a;postgresql配置ssl 3、正常连接无误后&#xff0c;将root.crt、server.crt、server.key复制到从数据库节点的存储…...

IO多路转接之select

IO多路转接之select 1. IO多路转接&#xff08;复用&#xff09;2. select2.1 函数原型2.2 细节描述 3. 并发处理3.1 处理流程3.2 通信代码 原文链接 1. IO多路转接&#xff08;复用&#xff09; IO多路转接也称为IO多路复用&#xff0c;它是一种网络通信的手段&#xff08;机…...

linux如何删除大文件的第一行(sed)

可以用sed命令实现&#xff1a; 删除文档的第一行 1. sed -i 1d <file>删除文档的最后一行 1. sed -i $d <file>在文档指定行中增加一行 # 示例如下&#xff1a; echo "1"; echo "2"; echo "4"; echo "5"; # 想要在echo…...

Navicat 技术指引 | 适用于 GaussDB 分布式的备份/还原功能

Navicat Premium&#xff08;16.3.3 Windows 版或以上&#xff09;正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结…...