barriers / 阅读 / 详情

cnn里面池化的作用是什么,为什么对于同样的神经网络,我们把sample层去掉之后反而正确率下降了?

2023-08-23 12:00:49
共1条回复
瑞瑞爱吃桃

cnn里面池化的作用:

增大感受野。

所谓感受野,即一个像素对应回原图的区域大小,假如没有pooling,一个3*3,步长为1的卷积,那么输出的一个像素的感受野就是3*3的区域,再加一个stride=1的3*3卷积,则感受野为5*5。

假如我们在每一个卷积中间加上3*3的pooling呢?很明显感受野迅速增大,这就是pooling的一大用处。感受野的增加对于模型的能力的提升是必要的,正所谓“一叶障目则不见泰山也”。

正确率下降的原因:

池化层往往跟在卷积层后面。通过平均池化或者最大池化的方法将之前卷基层得到的特征图做一个聚合统计。假设L层的卷积层得到的某一特征图有100*100这么大的尺寸。

选一个2*2的区域做不重叠的最大池化,池化层会输出50*50那么大的图,达到降低数据量的目的。

采样层的作用可以等效为正则化,可以降低模型的耦合度,所以去掉的话准确率降低是正常的。

如果不加池化层应该保留原始数据,只影响模型训练速度是不影响性能的。



pooling


总结如下:

因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。例如,卷积层输出的特征图中两个相连的点的特征通常会很相似,假设a[0,0],a[0,1],a[1,0],a[1,1]都表示颜色特征是红色,没有必要都保留作下一层的输入。

池化层可以将这四个点做一个整合,输出红色这个特征。可以达到降低模型的规模,加速训练的目的。




相关推荐

实验室文库pooling是什么意思

《宝诺集团 为你解答 ,希望能够帮到你》pooling 英["pu:lu026au014b] 美["pu:lu026au014b] v. 集中…共同使用,共用( pool的现在分词 ); [例句]Pooling of expertise and resources with partners.和伙伴共享和汇集技术专长和资源。[其他] 原型: pool
2023-08-15 17:46:301

Ado.net编程(C#)中,数据库的连接字符串中的【Pooling=False】是什么意思?谢谢

Pooling=False意思是关闭连接池,通常情况下,建议开启。多数数据库是默认开启的,比如sqlserver,也有些是默认关闭的,比如sqlite,具体的需要看驱动的文档。是否开启,以及连接池设置成多大,开发人员是不用过多的关心的,真正该关心这个的是 工作在第一线的运维人员,比如DBA
2023-08-15 17:47:012

统计里,pooling preference;什么意思

pooling 指共用的资金、知识、设备等。preference指优选项目。pooling preference 的字面意思我“共用资产的优选项目”,在统计学中指 “共用资产索引” 或“过帐索引”。
2023-08-15 17:47:111

pooling=false和pooling=true各有什么坏处?

TRUE时候过一些防火墙,如果长时间没访问数据库,也可能会中断报错
2023-08-15 17:47:302

CNN网络的pooling层有什么用

你好,最直接的作用是引入了不变性,比如最常见的conv-max pooling,因为取一片区域的最大值,所以这个最大值在该区域内无论在哪,max-pooling之后都是它,相当于对微小位移的不变性。而如果我们对输入pooling前的层做一些精心设计,让pooling region里对应的是设计后的一些性质变化,那么pooling就相当于实现了对这种设计出来的变化的不变性。比如旋转(当然就旋转而言这个方法似乎不是很好)
2023-08-15 17:47:381

卷积层和池化层的作用

卷积层和池化层的作用如下:(1)首要作用,下采样(downsampling)。(2)降维、去除冗余信息、对特征进行压缩、简化网络复杂度、减小计算量、减小内存消耗等等。各种说辞吧,总的理解就是减少参数量。(3)实现非线性(这个可以想一下,relu函数,是不是有点类似的感觉)。(4)可以扩大感知野。(5)可以实现不变性,其中不变形性包括,平移不变性、旋转不变性和尺度不变性。池化主要有:(1)一般池化(General Pooling):其中最常见的池化操作有平均池化、最大池化:平均池化(average pooling):计算图像区域的平均值作为该区域池化后的值。最大池化(max pooling):选图像区域的最大值作为该区域池化后的值。(2)重叠池化(OverlappingPooling):重叠池化就是,相邻池化窗口之间有重叠区域,此时一般sizeX > stride。(3)空金字塔池化(Spatial Pyramid Pooling)。空间金字塔池化的思想源自Spatial Pyramid Model,它将一个pooling变成了多个scale的pooling。用不同大小池化窗口作用于上层的卷积特征。也就是说spatital pyramid pooling layer就是把前一卷积层的feature maps的每一个图片上进行了3个卷积操作,并把结果输出给全连接层。其中每一个pool操作可以看成是一个空间金字塔的一层。
2023-08-15 17:48:011

LeNet神经网络

LeNet神经网络由深度学习三巨头之一的Yan LeCun提出,他同时也是卷积神经网络 (CNN,Convolutional Neural Networks)之父。LeNet主要用来进行手写字符的识别与分类,并在美国的银行中投入了使用。LeNet的实现确立了CNN的结构,现在神经网络中的许多内容在LeNet的网络结构中都能看到,例如卷积层,Pooling层,ReLU层。虽然LeNet早在20世纪90年代就已经提出了,但由于当时缺乏大规模的训练数据,计算机硬件的性能也较低,因此LeNet神经网络在处理复杂问题时效果并不理想。虽然LeNet网络结构比较简单,但是刚好适合神经网络的入门学习。 LeNet的神经网络结构图如下: LeNet网络的执行流程图如下: 接下来我们来具体的一层层的分析LeNet的网络结构。首先要了解图像(输入数据)的表示。在LeNet网络中,输入图像是手写字符,图像的表示形式为二维数据矩阵,如下图所示: LeNet网络除去输入输出层总共有六层网络。第一层是卷积层(C1层),卷积核的大小为 5*5 ,卷积核数量为 6 个,输入图像的大小为 32*32 ,因此输入数据在进行第一层卷积之后,输出结果为大小为 28*28 ,数量为 6 个的feature map。卷积操作如下面两幅图所示: 卷积操作的过程可描述为:卷积核在图像上滑动,滑动步长为1(即每次移动一格,水平方向从左到右,到最右边之后再从最左边开始,向下移动一格,重复从左到右滑动),当卷积核与图像的一个局部块重合时进行卷积运行,卷积计算方式为图像块对应位置的数与卷积核对应位置的数相乘,然后将所有相乘结果相加即为feature map的值, 相乘累加之后的结果位于卷积核中心点的位置 ,因此如果是 3*3 的卷积核,feature map比原图像在水平和垂直方向上分别减少两行(上下各一行)和两列(左右各一列),因此上面图像原图为 5*5 ,卷积核为 3*3 ,卷积结果大小为 3*3 ,即 (5-2)*(5-2) ,如果卷积核为 5*5 ,则卷积结果大小为 (5-4)*(5-4) 。上图中的卷积核为: 由于神经网络层与层的结构是通过连接来实现的,因此输入层与第一个卷积层的连接数量应为 (32-2-2)*(32-2-2)*(5*5+1)*6= 28*28*156 =122304 。 卷积的作用主要是:通过卷积运算,可以使原信号特征增强,并且降低噪音。在图像上卷积之后主要是减少图像噪声,提取图像的特征。例如sobel算子就是一种卷积运算,主要是提取图像的边缘特征。卷积网络能很好地适应图像的平移不变性:例如稍稍移动一幅猫的图像,它仍然是一幅猫的图像。卷积操作保留了图像块之间的空间信息,进行卷积操作的图像块之间的相对位置关系没有改变。图像在不同卷积核上进行卷积之后的效果图如下: 图像在LeNet网络上进行第一层卷积之后,结果为大小为 28*28 ,数量为 6 个的feature map。LeNet网络的第二层为pooling层(S2层),也称为下采样。在图像处理中,下采样之后,图像的大小会变为原来的 1/4 ,即水平方向和垂直方向上图像大小分别减半。Pooling有多种,这里主要介绍两种,max-pooling和average-pooling。max-pooling即为从四个元素中选取一个最大的来表示这四个元素,average-pooling则用四个元素的平均值来表示这四个元素。Pooling示意图如下: 在LeNet在进行第二层Pooling运算后,输出结果为 14*14 的 6 个feature map。其连接数为 (2*2+1) * 14 * 14 *6 = 5880 。Pooling层的主要作用就是减少数据,降低数据纬度的同时保留最重要的信息。在数据减少后,可以减少神经网络的纬度和计算量,可以防止参数太多过拟合。LeNet在这一层是将四个元素相加,然后乘以参数w再加上偏置b,然后计算sigmoid值。 LeNet第三层(C3层)也是卷积层,卷积核大小仍为 5*5 ,不过卷积核的数量变为 16 个。第三层的输入为 14*14 的 6 个feature map,卷积核大小为 5*5 ,因此卷积之后输出的feature map大小为 10*10 ,由于卷积核有 16 个,因此希望输出的feature map也为 16 个,但由于输入有 6 个feature map,因此需要进行额外的处理。输入的 6 个feature map与输出的 16 个feature map的关系图如下: 如上图所示,第一个卷积核处理前三幅输入的feature map,得出一个新的feature map。 上一层卷积运算之后,结果为大小为 10*10 的 16 个feature map,因此在第四层(S4层)进行pooling运算之后,输出结果为 16 个大小为 5*5 的feature map。与S2层进行同样的操作。 LeNet第五层是卷积层(C5层),卷积核数目为120个,大小为 5*5 ,由于第四层输出的feature map大小为 5*5 ,因此第五层也可以看成全连接层,输出为120个大小为 1*1 的feature map。 LeNet第六层是全连接层(F6层),有84个神经元(84与输出层的设计有关),与C5层全连接。 LeNet神经网络结构在Caffe中的配置文件如下: 参考资料: 1. https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/
2023-08-15 17:48:191

卷积神经网络中的池化是什么意思?

理论在于,图像中相邻位置的像素是相关的。对一幅图像每隔一行采样,得到的结果依然能看。一、卷积神经网受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位。近年来卷积神经网络在多个方向持续发力,在语音识别、人脸识别、通用物体识别、运动分析、自然语言处理甚至脑电波分析方面均有突破。卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层中,通常包含若干个特征平面(featureMap),每个特征平面由一些矩形排列的的神经元组成,同一特征平面的神经元共享权值,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值(卷积核)带来的直接好处是减少网络各层之间的连接,同时又降低了过拟合的风险。子采样也叫做池化(pooling),通常有均值子采样(mean pooling)和最大值子采样(max pooling)两种形式。子采样可以看作一种特殊的卷积过程。卷积和子采样大大简化了模型复杂度,减少了模型的参数。三、卷积神经网络的原理3.1 神经网络首先介绍神经网络,这一步的详细可以参考资源1。简要介绍下。神经网络的每个单元如下:对应的公式如下:其对应的公式如下:比较类似的,可以拓展到有2,3,4,5,…个隐含层。神经网络的训练方法也同Logistic类似,不过由于其多层性,还需要利用链式求导法则对隐含层的节点进行求导,即梯度下降+链式求导法则,专业名称为反向传播。关于训练算法,本文暂不涉及。
2023-08-15 17:48:461

80后父母流行拼养孩子:“拼养”用英语怎么说

“拼养”用英语:baby-pooling继“拼车、拼吃、拼住、拼游”之后,中国“80后”父母流行“拼养”孩子。baby-pooling 这个拼合词仿效了funds-pooling(资金募集)和idea-pooling(集思广益)的构词法。此外,首创这个词的人很可能还受了另一个拼合词,即baby-sitting(受雇照看别人的孩子)的启发,将“拼养”这个词译为baby-pooling。
2023-08-15 17:49:221

p2p行业中资金池是什么意思?

出借人资金汇入公司法人账户,法人账户就是资金池了。
2023-08-15 17:49:345

pooling risk 什么意思?

Risk-pooling 即延迟生产以降低需求波动性,它是供应链管理中非常重要的概念 ,也就是柔性化的体现。
2023-08-15 17:49:511

pooling arrangement是什么意思

你好,为你解答,正确答案为:pooling arrangement聚池协议不明白请及时追问,满意敬请采纳,O(∩_∩)O谢谢
2023-08-15 17:50:012

如何在卷积神经网络中使用池化层

2.如何在卷积神经网络中使用池化层?如何在卷积神经网络中使用池化层?卷积神经网络(ConvolutionalNeuralNetworks,CNN)的池化层,在图像识别和分析领域中起着至关重要的作用。本文将详细介绍如何在CNN中使用池化层,帮助读者了解池化层的定义、作用、类型和使用方法等。1.池化层的定义池化层是CNN中的一种层,其主要作用是减少数据的维度,实现对数据降维的目的。其通过滑动窗口对相邻区域内的数据进行聚合处理,以减少数据量,同时保留了数据集的主要特征。2.池化层的作用池化层的作用有多个方面:(1)减小数据的维度:池化层可减小输入的数据集大小,有利于避免CNN中的过拟合问题。(2)减小计算量:在CNN计算时,池化层可以减小数据集的大小,从而减少计算量和计算时间。(3)增强数据集的不变性:通过池化层的运算,数据集的不变性可以被加强,使得输入数据在不同点、角度、大小等条件下具有相同的特征。3.池化层的类型池化层主要分为平均池化和最大池化两种类型。(1)平均池化:平均池化是对池化区域内的数据进行平均值处理,以减小数据量的同时保留数据的主要特征。(2)最大池化:最大池化是对池化区域内的数据进行最大值选取,并将其作为池化后的值。最大池化可以较好地保留数据集的主要特征。4.池化层的使用方法池化层一般与卷积层交替使用,其结构如下:{input}->[Conv2D]->[Activation]->[Pooling]->[Conv2D]->[Activation]->[Pooling]->池化层的使用方法如下:(1)定义池化区域的大小:一般情况下,池化区域大小为22,实现数据的较为精确压缩。(2)定义池化方式:根据实际处理的数据集选择合适的池化方式,一般为平均池化或最大池化。(3)选取步长:步长表示池化滑动的步长,其值一般为2或3,以减少数据量和计算时间。(4)设置填充方式:如需要在数据的周围填充数据,可以设置填充方式为valid或same。(5)实现池化:利用Keras或TensorFlow等深度学习框架,可以轻松地实现池化操作。综上所述,使用池化层可以有效地减少卷积神经网络的计算量,缩短模型训练的时间,同时保留数据的主要特征,提升模型的准确性。在使用池化层时,需要根据数据集的实际情况选择合适的池化方式和参数等,才能获得更好的分类结果。
2023-08-15 17:50:081

神经网络——最大池化层的使用

实施池化的目的:(1) 降低信息冗余;(2) 提升模型的尺度不变性、旋转不变性;(3) 防止过拟合。 池化层的常见操作包含以下几种:最大值池化,均值池化,随机池化,中值池化,组合池化等。 其中更为常用的池化方法是最大池化(max-pooling)和均值池化(mean-pooling)。 1 最大池化(max-pooling)即取局部接受域中值最大的点。 2 最大值池化的优点在于它能学习到图像的边缘和纹理结构。 3 根据相关理论,特征提取的误差主要来自两个方面: (1)邻域大小受限造成的估计值方差增大; (2)卷积层参数误差造成估计均值的偏移。 一般来说,mean-pooling能减小第一种误差,更多的保留图像的背景信息,max-pooling能减小第二种误差,更多的保留纹理信息。与mean-pooling近似,在局部意义上,则服从max-pooling的准则。 max-pooling卷积核的大小一般是2×2。 非常大的输入量可能需要4x4。 但是,选择较大的形状会显着降低信号的尺寸,并可能导致信息过度丢失。 通常,不重叠的池化窗口表现最好。 输出: 若将self.maxpool1 = MaxPool2d(kernel_size=3,ceil_mode=False)中ceil_mode=True, 则输出: 使用tensorboard --logdir=logs/P15_logs命令打开tensorboard 参考资料: 1. https://zhuanlan.zhihu.com/p/77040467 2. https://baike.baidu.com/item/%E6%9C%80%E5%A4%A7%E6%B1%A0%E5%8C%96/22692585?fr=aladdin 3. https://www.bilibili.com/video/BV1hE411t7RN?p=19
2023-08-15 17:50:161

计算机视觉中的注意力机制研究

写在前面的话:本文来自于本人的一次课程作业综述,当时还是写了很久的,不想交上去就完了,所以发上来留个纪念。 将注意力机制用在计算机视觉任务上,可以有效捕捉图片中有用的区域,从而提升整体网络性能。计算机视觉领域的注意力机制主要分为两类:(1) self-attention;(2) scale attention。这两类注意力从不同的角度进行图片内容理。本文将分别就这两种注意力机制进行说明,并列举相关的文献。 注意力是人类大脑固有的一种信号处理机制。人类大脑通过快速从视觉信号中选择出需要重点关注的区域,也就是通常所说的注意力焦点,然后重点处理这些区域的细节信息。通过注意力机制可以利用有限的大脑资源从大量的信息中筛选出有价值的信息。注意力机制最初被用在深度学习任务上是在机器语言翻译领域,将源语言翻译成目标语言,目标语言中的词并非与源语言的所有词都同等相关,而是仅与特定的几个词有相关性。因此,注意力机制可以将这个词的注意力分配到这些最相关的词上。之后,[1]中提出自注意力机制 (self-attention),并将其用于Transformer模块中,极大提升了翻译模型的精度和并行性。与传统的注意力机制不同,self-attention的查询(query)和键(key)属于同一个域,计算的是同一条语句(或同一张图片)中不同位置之间的注意力分配,从而提取该语句(或图片)的特征。 [2]首先将self-attention用于视觉任务中,提出了non-local network,来捕获图片(或视频)中的长程依赖(long-range dependency)。Self-attention机制在视觉任务,如语义分割[3],生成对抗网络[4]中取得了巨大的成功。它解决了卷积神经网络的局部视野域问题,使得每个位置都可以获得全局的视野域。不过,由于在视觉任务中,像素数极多,利用所有位置来计算每个位置的attention会导致巨大的计算和显存开销;另一方面,由于self-attention简单将图像当成一个序列进行处理,没有考虑不同位置之间的相对位置关系,使得所得到的attention丧失了图像的结构信息。之后对于self-attention的一个改进方向就是,在self-attention中加入相对位置信息或绝对位置信息编码。 除了self-attention,视觉任务中另一类注意力机制为scale attention。与self-attention不同,scale attention基于每个位置本身的响应。就分类任务而言,每个位置的响应越大,则其对于最终的分类结果影响越大,那么这个位置本身的重要性就越强。根据响应大小有选择地对特征图进行强化或抑制,就可以在空间(或其他维度)上达到分配attention的目的。[5]所提出的SENet,就相当于channel-wise的attention。类似的还有GENet[6],CBAM[7]等,GENet将SENet中的channel-wise attention扩展到了spatial上,CBAM设计了串行的两个模块,分别进行channel-wise attention和spatial-wise attention的计算。另一篇工作residual attention network[8]也属于这一类attention,与SENet系列不同之处在于,本文采用bottom-up top-down形式得到spatial attention,再将其以残差的形式作用回原来的特征。这一类注意力机制仅仅基于图像中每个位置本身,对显著区域进行增强,非显著区域进行抑制,比self-attention机制更接近与人类视觉系统的注意力机制。 普通卷积将特征图的每个位置作为中心点,对该位置及其周围的位置进行加权求和,得到新的特征图上该位置对应的滤波结果,对于边缘,必要时可以用0进行填充。这一操作可以有效提取图片的局部信息。随着网络加深,卷积层不断堆叠,每个位置的视野域也越来越大,网络提取到的特征也逐渐由一些low-level的特征,如颜色、纹理,转变到一些high-level的结构信息。但是,简单通过加深网络来获取全局视野域,所带来的计算开销是很大的,并且,更深的网络会带来更大的优化难度。 Self-attention操作[2]可以有效地捕获不同位置之间的long-range dependency,每个位置的特征都由所有位置的加权求和得到,这里的权重就是attention weight。由此,每个位置都可以获取全局的视野域,并且不会造成特征图的退化(分辨率降低),这对于一些密集的预测任务,如语义分割、目标检测等,具有很大的优势。 图1展示了self-attention的网络结构。给定输入X,将两个1x1卷积分别作用于X上,得到的两个特征利用f(u22c5)得到相关性矩阵,图中展示的f(u22c5)为矩阵乘法。最后将相关性矩阵作用在原特征经过1x1卷积变换后的特征上。 公式(1)展示了第i个位置的相应的计算方法,其中f(u22c5)为相关性函数,g(u22c5)为变换函数,x_i为输入第i个位置的特征,y_i为第i个位置的输出特征,C(x)为归一化因子,一般采用总位置的个数。 由于self-attention可以有效捕获图片(或视频)中的长距离依赖,从而在不影响特征分辨率的同时获取全局的视野域,在视觉任务上引入self-attention,可以带来较大的性能提升。 论文[2]将self-attention用在视频动作识别任务上,如图2,对于视频中动作的识别,可能会跨越多帧,需要建立多帧视频之间的联系,self-attention的这种长距离依赖的特征就能有效建立多帧不同位置之间的联系。 论文[2]将self-attention用在分割任务上。由于孤立预测每个位置的类别很容易导致分错,分割任务需要结合每个位置的上下文对该位置进行分类。文章定义了所谓物体上下文(object context),即每个位置所属于的类别构成的集合,即为这个位置所属于的object context。 Object context是由不同位置的特征相似度来定义的,也就是self-attention过程中的相似度矩阵,将相似度矩阵与原特征进行相乘,即可将object context作用于该特征图。由此,文章提出了Object Context Network(OCNet),如图3。其中,base-OC为基本的self-attention模块,pyramid-OC和ASP-OC分别将self-attention与PSP模块和ASPP模块结合,在提取object context的同时,利用不同倍率的pooling操作或不同ratio的dilated convolution获取多尺度的特征,最大程度的利用context信息对原图进行分割。不过,本文虽然提出object context为每个像素及所有其他与其属于同一类的像素构成的集合,在实际操作的时候却并不是这样计算每个位置的object context的,特征上的相似性并不一定代表属于同一位置。因此,用object context来给self-attention新的解释,在说服力上还是存在一定问题的。 Scale attention是另一种注意力机制,与self-attention不同,scale attention是只基于key context的,对图像中的显著性区域进行增强,其他区域相应的进行抑制,从而使得输出的特征具有更强的区分性。这一类注意力机制的代表工作包括,residual attention network[8],squeeze-and-excite network[5],gather-and-excite network[6]以及CBAM[7]。 [8]提出,在分类网络中,网络深层比浅层更关注于被分类的物体,也就是图片的主体内容,这是因为,深层网络具有更大的视野域,可以看到更广的范围;而浅层网络只能看到每个位置及其邻域。因此,如果将网络较深层的信息作为一种mask,作用在较浅层的特征上,就能更好的增强浅层特征中对于最终分类结果有帮助的特征,抑制不相关的特征。如图5所示,将attention作为mask作用在原来特征上,得到的输出就会更加集中在对分类有帮助的区域上。 因此,文章提出一种bottom-up top-down的前向传播方法来得到图片的attention map,并且将其作用在原来的特征上,使得输出的特征有更强的区分度。图6展示了这种attention的计算方式。由于更大的视野域可以看到更多的内容,从而获得更多的attention信息,因此,作者设计了一条支路,通过快速下采样和上采样来提前获得更大的视野域,将输出的特征进行归一化后作用在原有的特征上,将作用后的特征以残差的形式加到原来的特征上,就完成了一次对原有特征的注意力增强。文章还提出了一个堆叠的网络结构,即residual attention network,中间多次采用这种attention模块进行快速下采样和上采样。 这篇文章在视觉领域开前向传播的注意力机制的先河,之后的注意力机制都是采用这种前向传播过程中得到的attention进行增强,并且一般为了优化方便,都会以残差的方式进行。 Squeeze-and-excite是另一类scale attention。与residual attention不同,squeeze-and-excite通过global pooling来获得全局的视野域,并将其作为一种指导的信息,也就是attention信息,作用到原来的特征上。 [5]提出了squeeze-and-excite network(SENet),提出了channel-wise的scale attention。特征图的每个通道对应一种滤波器的滤波结果,即图片的某种特定模式的特征。对于最终的分类结果,这些模式的重要性是不同的,有些模式更重要,因此其全局的响应更大;有些模式不相关,其全局的响应较小。通过对不同通道的特征根据其全局响应值,进行响应的增强或抑制,就可以起到在channel上进行注意力分配的作用。其网络结构如图7所示,首先对输入特征进行global pooling,即为squeeze阶段,对得到的特征进行线性变换,即为excite阶段,最后将变换后的向量通过广播,乘到原来的特征图上,就完成了对不同通道的增强或抑制。SENet在2017年的ImageNet2017的分类比赛上获得了冠军,比之前的工作有了较大的性能提升。 [6]进一步探索了squeeze-and-excite在更细的粒度上的表现,提出了gather-excite操作。SENet将每个通道的特征图通过global pooling得到一个值,本文采用了不同步长的pooling(2x,4x,8x,global),然后利用上采样将pooling后的特征插值恢复到原来大小,最后作用在原来特征图上,具体操作如图8所示。不过,实验结果显示,global pooling的性能最好,将特征区间划分得更细致虽然增加了参数,但是反而会带来性能的下降。 [1] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems. 2017: 5998-6008. [2] Wang X, Girshick R, Gupta A, et al. Non-local neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 7794-7803. [3] Yuan Y, Wang J. Ocnet: Object context network for scene parsing[J]. arXiv preprint arXiv:1809.00916, 2018. [4] Zhang H, Goodfellow I, Metaxas D, et al. Self-attention generative adversarial networks[J]. arXiv preprint arXiv:1805.08318, 2018. [5] Hu J, Shen L, Sun G. Squeeze-and-excitation networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 7132-7141. [6] Hu J, Shen L, Albanie S, et al. Gather-Excite: Exploiting feature context in convolutional neural networks[C]//Advances in Neural Information Processing Systems. 2018: 9401-9411. [7] Woo S, Park J, Lee J Y, et al. Cbam: Convolutional block attention module[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 3-19. [8] Wang F, Jiang M, Qian C, et al. Residual attention network for image classification[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 3156-3164.
2023-08-15 17:50:231

劳动市场共享(labor market pooling)

【答案】:劳动力市场共享是指厂商的集中能为拥有高度专业化技术的工人创造的一个完善的劳动力市场,这个市场被厂商和工人所“共享”,即在这个市场中,厂商会较少面临劳动力短缺的问题,同时工人也较少面临失业。
2023-08-15 17:50:431

卷积神经网络的 卷积层、激活层、池化层、全连接层

数据输入的是一张图片(输入层),CONV表示卷积层,RELU表示激励层,POOL表示池化层,Fc表示全连接层 全连接神经网络需要非常多的计算资源才能支撑它来做反向传播和前向传播,所以说全连接神经网络可以存储非常多的参数,如果你给它的样本如果没有达到它的量级的时候,它可以轻轻松松把你给他的样本全部都记下来,这会出现过拟合的情况。 所以我们应该把神经元和神经元之间的连接的权重个数降下来,但是降下来我们又不能保证它有较强的学习能力,所以这是一个纠结的地方,所以有一个方法就是 局部连接+权值共享 ,局部连接+权值共享不仅权重参数降下来了,而且学习能力并没有实质的降低,除此之外还有其它的好处,下来看一下,下面的这几张图片: 一个图像的不同表示方式 这几张图片描述的都是一个东西,但是有的大有的小,有的靠左边,有的靠右边,有的位置不同,但是我们构建的网络识别这些东西的时候应该是同一结果。为了能够达到这个目的,我们可以让图片的不同位置具有相同的权重(权值共享),也就是上面所有的图片,我们只需要在训练集中放一张,我们的神经网络就可以识别出上面所有的,这也是 权值共享 的好处。 而卷积神经网络就是局部连接+权值共享的神经网络。 现在我们对卷积神经网络有一个初步认识了,下面具体来讲解一下卷积神经网络,卷积神经网络依旧是层级结构,但层的功能和形式做了改变,卷积神经网络常用来处理图片数据,比如识别一辆汽车: 在图片输出到神经网络之前,常常先进行图像处理,有 三种 常见的图像的处理方式: 均值化和归一化 去相关和白化 图片有一个性质叫做局部关联性质,一个图片的像素点影响最大的是它周边的像素点,而距离这个像素点比较远的像素点二者之间关系不大。这个性质意味着每一个神经元我们不用处理全局的图片了(和上一层全连接),我们的每一个神经元只需要和上一层局部连接,相当于每一个神经元扫描一小区域,然后许多神经元(这些神经元权值共享)合起来就相当于扫描了全局,这样就构成一个特征图,n个特征图就提取了这个图片的n维特征,每个特征图是由很多神经元来完成的。 在卷积神经网络中,我们先选择一个局部区域(filter),用这个局部区域(filter)去扫描整张图片。 局部区域所圈起来的所有节点会被连接到下一层的 一个节点上 。我们拿灰度图(只有一维)来举例: 局部区域 图片是矩阵式的,将这些以矩阵排列的节点展成了向量。就能更好的看出来卷积层和输入层之间的连接,并不是全连接的,我们将上图中的红色方框称为filter,它是2*2的,这是它的尺寸,这不是固定的,我们可以指定它的尺寸。 我们可以看出来当前filter是2*2的小窗口,这个小窗口会将图片矩阵从左上角滑到右下角,每滑一次就会一下子圈起来四个,连接到下一层的一个神经元,然后产生四个权重,这四个权重(w1、w2、w3、w4)构成的矩阵就叫做卷积核。 卷积核是算法自己学习得到的,它会和上一层计算,比如,第二层的0节点的数值就是局部区域的线性组合(w1 0+w2 1+w3 4+w4 5),即被圈中节点的数值乘以对应的权重后相加。 卷积核计算 卷积操作 我们前面说过图片不用向量表示是为了保留图片平面结构的信息。 同样的,卷积后的输出若用上图的向量排列方式则丢失了平面结构信息。 所以我们依然用矩阵的方式排列它们,就得到了下图所展示的连接,每一个蓝色结点连接四个黄色的结点。 卷积层的连接方式 图片是一个矩阵然后卷积神经网络的下一层也是一个矩阵,我们用一个卷积核从图片矩阵左上角到右下角滑动,每滑动一次,当然被圈起来的神经元们就会连接下一层的一个神经元,形成参数矩阵这个就是卷积核,每次滑动虽然圈起来的神经元不同,连接下一层的神经元也不同,但是产生的参数矩阵确是一样的,这就是 权值共享 。 卷积核会和扫描的图片的那个局部矩阵作用产生一个值,比如第一次的时候,(w1 0+w2 1+w3 4+w4 5),所以,filter从左上到右下的这个过程中会得到一个矩阵(这就是下一层也是一个矩阵的原因),具体过程如下所示: 卷积计算过程 上图中左边是图矩阵,我们使用的filter的大小是3 3的,第一次滑动的时候,卷积核和图片矩阵作用(1 1+1 0+1 1+0 0+1 1+1 0+0 1+0 0+1 1)=4,会产生一个值,这个值就是右边矩阵的第一个值,filter滑动9次之后,会产生9个值,也就是说下一层有9个神经元,这9个神经元产生的值就构成了一个矩阵,这矩阵叫做特征图,表示image的某一维度的特征,当然具体哪一维度可能并不知道,可能是这个图像的颜色,也有可能是这个图像的轮廓等等。 单通道图片总结 :以上就是单通道的图片的卷积处理,图片是一个矩阵,我们用指定大小的卷积核从左上角到右下角来滑动,每次滑动所圈起来的结点会和下一层的一个结点相连,连接之后就会形成局部连接,每一条连接都会产生权重,这些权重就是卷积核,所以每次滑动都会产生一个卷积核,因为权值共享,所以这些卷积核都是一样的。卷积核会不断和当时卷积核所圈起来的局部矩阵作用,每次产生的值就是下一层结点的值了,这样多次产生的值组合起来就是一个特征图,表示某一维度的特征。也就是从左上滑动到右下这一过程中会形成一个特征图矩阵(共享一个卷积核),再从左上滑动到右下又会形成另一个特征图矩阵(共享另一个卷积核),这些特征图都是表示特征的某一维度。 三个通道的图片如何进行卷积操作? 至此我们应该已经知道了单通道的灰度图是如何处理的,实际上我们的图片都是RGB的图像,有三个通道,那么此时图像是如何卷积的呢? 彩色图像 filter窗口滑的时候,我们只是从width和height的角度来滑动的,并没有考虑depth,所以每滑动一次实际上是产生一个卷积核,共享这一个卷积核,而现在depth=3了,所以每滑动一次实际上产生了具有三个通道的卷积核(它们分别作用于输入图片的蓝色、绿色、红色通道),卷积核的一个通道核蓝色的矩阵作用产生一个值,另一个和绿色的矩阵作用产生一个值,最后一个和红色的矩阵作用产生一个值,然后这些值加起来就是下一层结点的值,结果也是一个矩阵,也就是一张特征图。 三通道的计算过程 要想有多张特征图的话,我们可以再用新的卷积核来进行左上到右下的滑动,这样就会形成 新的特征图 。 三通道图片的卷积过程 也就是说增加一个卷积核,就会产生一个特征图,总的来说就是输入图片有多少通道,我们的卷积核就需要对应多少通道,而本层中卷积核有多少个,就会产生多少个特征图。这样卷积后输出可以作为新的输入送入另一个卷积层中处理,有几个特征图那么depth就是几,那么下一层的每一个特征图就得用相应的通道的卷积核来对应处理,这个逻辑要清楚,我们需要先了解一下 基本的概念: 卷积计算的公式 4x4的图片在边缘Zero padding一圈后,再用3x3的filter卷积后,得到的Feature Map尺寸依然是4x4不变。 填充 当然也可以使用5x5的filte和2的zero padding可以保持图片的原始尺寸,3x3的filter考虑到了像素与其距离为1以内的所有其他像素的关系,而5x5则是考虑像素与其距离为2以内的所有其他像素的关系。 规律: Feature Map的尺寸等于 (input_size + 2 * padding_size u2212 filter_size)/stride+1 我们可以把卷积层的作用 总结一点: 卷积层其实就是在提取特征,卷积层中最重要的是卷积核(训练出来的),不同的卷积核可以探测特定的形状、颜色、对比度等,然后特征图保持了抓取后的空间结构,所以不同卷积核对应的特征图表示某一维度的特征,具体什么特征可能我们并不知道。特征图作为输入再被卷积的话,可以则可以由此探测到"更大"的形状概念,也就是说随着卷积神经网络层数的增加,特征提取的越来越具体化。 激励层的作用可以理解为把卷积层的结果做 非线性映射 。 激励层 上图中的f表示激励函数,常用的激励函数几下几种: 常用的激励函数 我们先来看一下激励函数Sigmoid导数最小为0,最大为1/4, 激励函数Sigmoid Tanh激活函数:和sigmoid相似,它会关于x轴上下对应,不至于朝某一方面偏向 Tanh激活函数 ReLU激活函数(修正线性单元):收敛快,求梯度快,但较脆弱,左边的梯度为0 ReLU激活函数 Leaky ReLU激活函数:不会饱和或者挂掉,计算也很快,但是计算量比较大 Leaky ReLU激活函数 一些激励函数的使用技巧 :一般不要用sigmoid,首先试RELU,因为快,但要小心点,如果RELU失效,请用Leaky ReLU,某些情况下tanh倒是有不错的结果。 这就是卷积神经网络的激励层,它就是将卷积层的线性计算的结果进行了非线性映射。可以从下面的图中理解。它展示的是将非线性操作应用到一个特征图中。这里的输出特征图也可以看作是"修正"过的特征图。如下所示: 非线性操作 池化层:降低了各个特征图的维度,但可以保持大分重要的信息。池化层夹在连续的卷积层中间,压缩数据和参数的量,减小过拟合,池化层并没有参数,它只不过是把上层给它的结果做了一个下采样(数据压缩)。下采样有 两种 常用的方式: Max pooling :选取最大的,我们定义一个空间邻域(比如,2x2 的窗口),并从窗口内的修正特征图中取出最大的元素,最大池化被证明效果更好一些。 Average pooling :平均的,我们定义一个空间邻域(比如,2x2 的窗口),并从窗口内的修正特征图算出平均值 Max pooling 我们要注意一点的是:pooling在不同的depth上是分开执行的,也就是depth=5的话,pooling进行5次,产生5个池化后的矩阵,池化不需要参数控制。池化操作是分开应用到各个特征图的,我们可以从五个输入图中得到五个输出图。 池化操作 无论是max pool还是average pool都有分信息被舍弃,那么部分信息被舍弃后会损坏识别结果吗? 因为卷积后的Feature Map中有对于识别物体不必要的冗余信息,我们下采样就是为了去掉这些冗余信息,所以并不会损坏识别结果。 我们来看一下卷积之后的冗余信息是怎么产生的? 我们知道卷积核就是为了找到特定维度的信息,比如说某个形状,但是图像中并不会任何地方都出现这个形状,但卷积核在卷积过程中没有出现特定形状的图片位置卷积也会产生一个值,但是这个值的意义就不是很大了,所以我们使用池化层的作用,将这个值去掉的话,自然也不会损害识别结果了。 比如下图中,假如卷积核探测"横折"这个形状。 卷积后得到3x3的Feature Map中,真正有用的就是数字为3的那个节点,其余数值对于这个任务而言都是无关的。 所以用3x3的Max pooling后,并没有对"横折"的探测产生影响。 试想在这里例子中如果不使用Max pooling,而让网络自己去学习。 网络也会去学习与Max pooling近似效果的权重。因为是近似效果,增加了更多的参数的代价,却还不如直接进行最大池化处理。 最大池化处理 在全连接层中所有神经元都有权重连接,通常全连接层在卷积神经网络尾部。当前面卷积层抓取到足以用来识别图片的特征后,接下来的就是如何进行分类。 通常卷积网络的最后会将末端得到的长方体平摊成一个长长的向量,并送入全连接层配合输出层进行分类。比如,在下面图中我们进行的图像分类为四分类问题,所以卷积神经网络的输出层就会有四个神经元。 四分类问题 我们从卷积神经网络的输入层、卷积层、激活层、池化层以及全连接层来讲解卷积神经网络,我们可以认为全连接层之间的在做特征提取,而全连接层在做分类,这就是卷积神经网络的核心。
2023-08-15 17:50:511

pooling inventory 什么意思

库存
2023-08-15 17:50:582

卷积神经网络卷积核大小对准确率的影响

一般来说,卷积核越大,对于图像特征值获取的效果越好,但是对应地,需要训练的参数就越多,因此会应当到运算能力,进一步影响到图像识别的整体效率。与之对应,卷积核越小,图像识别过程中的精细程度就会有所提升,但是想要获取到同样水平的图像特征,只能依赖更多的计算层数。
2023-08-15 17:51:092

上采样(UnSampling)、反卷积(Deconvolution)与上池化(UnPooling)

反卷积(Deconvolution)、上采样(UnSampling)与上池化(UnPooling)的对比图示如下(图片出处见水印): FCN、U-net等网络结构中都有使用上采样。上采样是指使图像分辨率变高的方法。 最简单的方式是重采样和插值:将输入图片进行rescale到一个想要的尺寸,并计算每个点的像素值,使用如 双线性插值 等插值方法对其余点进行插值来完成上采样过程。 反卷积在CNN中常用于表示一种反向卷积 ,但它并不是一个符合严格数学定义的反卷积操作。与上池化不同,使用反卷积来对图像进行上采样是可以习得的。通常用来对卷积层的结果进行上采样,使其回到原始图片的分辨率。 上池化是在CNN中常用的来表示max pooling的逆操作。最早来源于2013年纽约大学Matthew D. Zeiler和Rob Fergus发表的《Visualizing and Understanding Convolutional Networks》。 鉴于max pooling不可逆,因此使用近似的方式来反转得到max pooling操作之前的原始情况。 简单来说,记住做max pooling的时候的最大item的位置,比如一个3x3的矩阵,max pooling的size为2x2,stride为1,反卷积记住其位置,其余位置至为0就行:
2023-08-15 17:51:171

【目标检测】RoI Pooling及其改进

RoI是Region of Interest的简写,是指对一张图片的“感兴趣区域”,用于RCNN系列算法当中,输入图片在经过卷积网络得到feature maps后,利用选择搜索或者RPN算法来得到多个目标候选框,这些以输入图片为参考坐标的候选框在feature maps上的映射区域,即为目标检测中所说的RoI。 RoI Pooling的过程如上图所示,其中有两个计算细节的问题有: 问题1、以输入图片为参考坐标的候选框在feature maps上如何映射? scale = Sf / Si, Xf = scale * Xi,Yf = scale * Yi,其中 Sf 为feature map的Size,Si 为输入image的Size,(Xf,Yf)为feature map上的坐标点,(Xi,Yi)为输入image的坐标点。 问题2、如何把形状和大小各异的候选区域归一化为固定大小的目标识别区域? 通过对feature map分块池化实现归一化到固定大小,假设ROI Pooling层的输出大小为 Wr * Hr,输入候选区域的大小为 Wi * Hi,ROI Pooling的过程包括两个步骤: ( Hi / Hr) * (Wi / Wr),这里会有一个取整量化的操作; 候选框从原图坐标映射到的feature map坐标时,位置坐标可能存在浮点数,此时进行取整操作从而出现第一次量化;其次,在ROI Pooling求取每个小网格的位置时也同样存在浮点数取整的情况。这两次量化的结果都使得候选框的位置出现了偏差。 为了解决RoI Pooling两次量化问题,RoI Align不再采用取整量化操作,而是保留了浮点数的运算,并使用双线性插值的方式来求取像素值。具体的过程步骤如下: 假设需要输出2x2的fixed size feature map:
2023-08-15 17:51:361

pooling=false和pooling=true各有什么坏处?

pooling=false是关闭连接池,pooling=TRUE是启用连接池,系统默认的是开启。 连接池是一些与数据库有关连接的存放地方,当你需要建立某个连接时,如果它已存在与连接池就不需要新建连接了,速度更快,所以建议还是开启。
2023-08-15 17:52:131

sql数据库连接串中的pooling=true和pooling=false的区别

SqlConnectionsqlcon=newSqlConnection("server=.;database=;uid=sa;pwd=123");sqlcon.Open();
2023-08-15 17:52:251

池化层作用

池化层主要的作用:(1)首要作用,下采样(downsampling)(2)降维、去除冗余信息、对特征进行压缩、简化网络复杂度、减小计算量、减小内存消耗等等。各种说辞吧,总的理解就是减少参数量。(3)实现非线性(这个可以想一下,relu函数,是不是有点类似的感觉)。(4)可以扩大感知野。(5)可以实现不变性,其中不变形性包括,平移不变性、旋转不变性和尺度不变性。池化主要有:(1)一般池化(GeneralPooling):其中最常见的池化操作有平均池化、最大池化:平均池化(averagepooling):计算图像区域的平均值作为该区域池化后的值。最大池化(maxpooling):选图像区域的最大值作为该区域池化后的值。(2)重叠池化(OverlappingPooling):重叠池化就是,相邻池化窗口之间有重叠区域,此时一般sizeX>stride。(3)空金字塔池化(SpatialPyramidPooling)空间金字塔池化的思想源自SpatialPyramidModel,它将一个pooling变成了多个scale的pooling。用不同大小池化窗口作用于上层的卷积特征。也就是说spatitalpyramidpoolinglayer就是把前一卷积层的featuremaps的每一个图片上进行了3个卷积操作,并把结果输出给全连接层。其中每一个pool操作可以看成是一个空间金字塔的一层。
2023-08-15 17:52:331

poolinghttpclientconnectionmanager怎么用

private static CloseableHttpClient httpclient;//请求配置static { RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(60000).setConnectTimeout(60000).setConnectionRequestTimeout(10000).build();// 设置请求和传输超时时间 PoolingHttpClientConnectionManager phccm = new PoolingHttpClientConnectionManager(); phccm.setMaxTotal(800);// 连接池最大并发连接数 phccm.setDefaultMaxPerRoute(400);// 单路由最大并发数 httpclient = HttpClients.custom().setDefaultRequestConfig(requestConfig).setConnectionManager(phccm).setRetryHandler(new DefaultHttpRequestRetryHandler()).build();}方法中直接调用httpclient.execute(new HttpGet("xxx"));
2023-08-15 17:52:421

AI人工智能-目标检测模型一览

目标检测是人工智能的一个重要应用,就是在图片中要将里面的物体识别出来,并标出物体的位置,一般需要经过两个步骤: 1、分类,识别物体是什么 2、定位,找出物体在哪里 除了对单个物体进行检测,还要能支持对多个物体进行检测,如下图所示: 这个问题并不是那么容易解决,由于物体的尺寸变化范围很大、摆放角度多变、姿态不定,而且物体有很多种类别,可以在图片中出现多种物体、出现在任意位置。因此,目标检测是一个比较复杂的问题。 最直接的方法便是构建一个深度神经网络,将图像和标注位置作为样本输入,然后经过CNN网络,再通过一个分类头(Classification head)的全连接层识别是什么物体,通过一个回归头(Regression head)的全连接层回归计算位置,如下图所示: 但“回归”不好做,计算量太大、收敛时间太长,应该想办法转为“分类”,这时容易想到套框的思路,即取不同大小的“框”,让框出现在不同的位置,计算出这个框的得分,然后取得分最高的那个框作为预测结果,如下图所示: 根据上面比较出来的得分高低,选择了右下角的黑框作为目标位置的预测。 但问题是:框要取多大才合适?太小,物体识别不完整;太大,识别结果多了很多其它信息。那怎么办?那就各种大小的框都取来计算吧。 如下图所示(要识别一只熊),用各种大小的框在图片中进行反复截取,输入到CNN中识别计算得分,最终确定出目标类别和位置。 这种方法效率很低,实在太耗时了。那有没有高效的目标检测方法呢? 一、R-CNN 横空出世 R-CNN(Region CNN,区域卷积神经网络)可以说是利用深度学习进行目标检测的开山之作,作者Ross Girshick多次在PASCAL VOC的目标检测竞赛中折桂,2010年更是带领团队获得了终身成就奖,如今就职于Facebook的人工智能实验室(FAIR)。 R-CNN算法的流程如下 1、输入图像 2、每张图像生成1K~2K个候选区域 3、对每个候选区域,使用深度网络提取特征(AlextNet、VGG等CNN都可以) 4、将特征送入每一类的SVM 分类器,判别是否属于该类 5、使用回归器精细修正候选框位置 下面展开进行介绍 1、生成候选区域 使用Selective Search(选择性搜索)方法对一张图像生成约2000-3000个候选区域,基本思路如下: (1)使用一种过分割手段,将图像分割成小区域 (2)查看现有小区域,合并可能性最高的两个区域,重复直到整张图像合并成一个区域位置。优先合并以下区域: 3、类别判断 对每一类目标,使用一个线性SVM二类分类器进行判别。输入为深度网络(如上图的AlexNet)输出的4096维特征,输出是否属于此类。 4、位置精修 目标检测的衡量标准是重叠面积:许多看似准确的检测结果,往往因为候选框不够准确,重叠面积很小,故需要一个位置精修步骤,对于每一个类,训练一个线性回归模型去判定这个框是否框得完美,如下图: R-CNN将深度学习引入检测领域后,一举将PASCAL VOC上的检测率从35.1%提升到53.7%。 二、Fast R-CNN大幅提速 继2014年的R-CNN推出之后,Ross Girshick在2015年推出Fast R-CNN,构思精巧,流程更为紧凑,大幅提升了目标检测的速度。 Fast R-CNN和R-CNN相比,训练时间从84小时减少到9.5小时,测试时间从47秒减少到0.32秒,并且在PASCAL VOC 2007上测试的准确率相差无几,约在66%-67%之间。 Fast R-CNN主要解决R-CNN的以下问题: 1、训练、测试时速度慢 R-CNN的一张图像内候选框之间存在大量重叠,提取特征操作冗余。而Fast R-CNN将整张图像归一化后直接送入深度网络,紧接着送入从这幅图像上提取出的候选区域。这些候选区域的前几层特征不需要再重复计算。 2、训练所需空间大 R-CNN中独立的分类器和回归器需要大量特征作为训练样本。Fast R-CNN把类别判断和位置精调统一用深度网络实现,不再需要额外存储。 下面进行详细介绍 1、在特征提取阶段, 通过CNN(如AlexNet)中的conv、pooling、relu等操作都不需要固定大小尺寸的输入,因此,在原始图片上执行这些操作后,输入图片尺寸不同将会导致得到的feature map(特征图)尺寸也不同,这样就不能直接接到一个全连接层进行分类。 在Fast R-CNN中,作者提出了一个叫做ROI Pooling的网络层,这个网络层可以把不同大小的输入映射到一个固定尺度的特征向量。ROI Pooling层将每个候选区域均匀分成M×N块,对每块进行max pooling。将特征图上大小不一的候选区域转变为大小统一的数据,送入下一层。这样虽然输入的图片尺寸不同,得到的feature map(特征图)尺寸也不同,但是可以加入这个神奇的ROI Pooling层,对每个region都提取一个固定维度的特征表示,就可再通过正常的softmax进行类型识别。 2、在分类回归阶段, 在R-CNN中,先生成候选框,然后再通过CNN提取特征,之后再用SVM分类,最后再做回归得到具体位置(bbox regression)。而在Fast R-CNN中,作者巧妙的把最后的bbox regression也放进了神经网络内部,与区域分类合并成为了一个multi-task模型,如下图所示: 实验表明,这两个任务能够共享卷积特征,并且相互促进。 Fast R-CNN很重要的一个贡献是成功地让人们看到了Region Proposal+CNN(候选区域+卷积神经网络)这一框架实时检测的希望,原来多类检测真的可以在保证准确率的同时提升处理速度。 三、Faster R-CNN更快更强 继2014年推出R-CNN,2015年推出Fast R-CNN之后,目标检测界的领军人物Ross Girshick团队在2015年又推出一力作:Faster R-CNN,使简单网络目标检测速度达到17fps,在PASCAL VOC上准确率为59.9%,复杂网络达到5fps,准确率78.8%。 在Fast R-CNN还存在着瓶颈问题:Selective Search(选择性搜索)。要找出所有的候选框,这个也非常耗时。那我们有没有一个更加高效的方法来求出这些候选框呢? 在Faster R-CNN中加入一个提取边缘的神经网络,也就说找候选框的工作也交给神经网络来做了。这样,目标检测的四个基本步骤(候选区域生成,特征提取,分类,位置精修)终于被统一到一个深度网络框架之内。如下图所示: Faster R-CNN可以简单地看成是“区域生成网络+Fast R-CNN”的模型,用区域生成网络(Region Proposal Network,简称RPN)来代替Fast R-CNN中的Selective Search(选择性搜索)方法。 如下图 RPN如下图: RPN的工作步骤如下: Faster R-CNN设计了提取候选区域的网络RPN,代替了费时的Selective Search(选择性搜索),使得检测速度大幅提升,下表对比了R-CNN、Fast R-CNN、Faster R-CNN的检测速度: 总结 R-CNN、Fast R-CNN、Faster R-CNN一路走来,基于深度学习目标检测的流程变得越来越精简、精度越来越高、速度也越来越快。基于region proposal(候选区域)的R-CNN系列目标检测方法是目标检测技术领域中的最主要分支之一。 为了更加精确地识别目标,实现在像素级场景中识别不同目标,利用“图像分割”技术定位每个目标的精确像素,如下图所示(精确分割出人、汽车、红绿灯等): Mask R-CNN便是这种“图像分割”的重要模型。 Mask R-CNN的思路很简洁,既然Faster R-CNN目标检测的效果非常好,每个候选区域能输出种类标签和定位信息,那么就在Faster R-CNN的基础上再添加一个分支从而增加一个输出,即物体掩膜(object mask),也即由原来的两个任务(分类+回归)变为了三个任务(分类+回归+分割)。如下图所示,Mask R-CNN由两条分支组成: Mask R-CNN的这两个分支是并行的,因此训练简单,仅比Faster R-CNN多了一点计算开销。 如下图所示,Mask R-CNN在Faster R-CNN中添加了一个全卷积网络的分支(图中白色部分),用于输出二进制mask,以说明给定像素是否是目标的一部分。所谓二进制mask,就是当像素属于目标的所有位置上时标识为1,其它位置标识为 0 从上图可以看出,二进制mask是基于特征图输出的,而原始图像经过一系列的卷积、池化之后,尺寸大小已发生了多次变化,如果直接使用特征图输出的二进制mask来分割图像,那肯定是不准的。这时就需要进行了修正,也即使用RoIAlign替换RoIPooling 如上图所示,原始图像尺寸大小是128x128,经过卷积网络之后的特征图变为尺寸大小变为 25x25。这时,如果想要圈出与原始图像中左上方15x15像素对应的区域,那么如何在特征图中选择相对应的像素呢? 从上面两张图可以看出,原始图像中的每个像素对应于特征图的25/128像素,因此,要从原始图像中选择15x15像素,则只需在特征图中选择2.93x2.93像素(15x25/128=2.93),在RoIAlign中会使用双线性插值法准确得到2.93像素的内容,这样就能很大程度上,避免了错位问题。 修改后的网络结构如下图所示(黑色部分为原来的Faster R-CNN,红色部分为Mask R-CNN修改的部分) 从上图可以看出损失函数变为 损失函数为分类误差+检测误差+分割误差,分类误差和检测(回归)误差是Faster R-CNN中的,分割误差为Mask R-CNN中新加的。 对于每个MxM大小的ROI区域,mask分支有KxMxM维的输出(K是指类别数量)。对于每一个像素,都是用sigmod函数求二值交叉熵,也即对每个像素都进行逻辑回归,得到平均的二值交叉熵误差Lmask。通过引入预测K个输出的机制,允许每个类都生成独立的mask,以避免类间竞争,这样就能解耦mask和种类预测。 对于每一个ROI区域,如果检测得到属于哪一个分类,就只使用该类的交叉熵误差进行计算,也即对于一个ROI区域中KxMxM的输出,真正有用的只是某个类别的MxM的输出。如下图所示: 例如目前有3个分类:猫、狗、人,检测得到当前ROI属于“人”这一类,那么所使用的Lmask为“人”这一分支的mask。 Mask R-CNN将这些二进制mask与来自Faster R-CNN的分类和边界框组合,便产生了惊人的图像精确分割,如下图所示: Mask R-CNN是一个小巧、灵活的通用对象实例分割框架,它不仅可以对图像中的目标进行检测,还可以对每一个目标输出一个高质量的分割结果。另外,Mask R-CNN还易于泛化到其他任务,比如人物关键点检测,如下图所示: 从R-CNN、Fast R-CNN、Faster R-CNN到Mask R-CNN,每次进步不一定是跨越式的发展,这些进步实际上是直观的且渐进的改进之路,但是它们的总和却带来了非常显著的效果。 最后,总结一下目标检测算法模型的发展历程,如下图所示:
2023-08-15 17:52:521

pooling 在基因测序什么意思

pooling 英["pu:lu026au014b] 美["pu:lu026au014b] v. 集中…共同使用,共用( pool的现在分词 ); [例句]Pooling of expertise and resources with partners.和伙伴共享和汇集技术专长和资源。[其他] 原型: pool
2023-08-15 17:53:012

用DriverManager和DataSource获得Connection的区别在哪

在JDBC2.0或JDBC3.0中,所有的数据库驱动程序提供商必须提供一个实现了DataSource接口的类,要使用数据源必须首先在JNDI中注册该数据源对象。 如果在JNDI中注册了数据源对象,将会比起使用DriverManager来具有两个方面的优势: 首先,程序不需要像使用DriverManager一样对加载的数据库驱动程序信息进行硬编码,程序员可以选择先在JNDI中注册这个数据源对象,然后在 程序中使用一个逻辑名称来引用它,JNDI会自动根据你给出的名称找到与这个名称绑定的DataSource对象。然后就可以使用这个 DataSource对象来建立和具体数据库的连接了。 其次,使用实现了DataSource接口的类所具有的第二个优势体现在连接池和分布式事务上。连接池通过对连接的复用而不是新建一个物理连接来显著地提高程序的效率。从而适用于任务繁忙、负担繁重的企业级分布式事务。 数据库连接池的基本原理 传统的数据库连接方式(指通过DriverManager和基本实现DataSource进行连接)中,一个数据库连接对象均对应一个物理数据库连接,数 据库连接的建立以及关闭对系统而言是耗费系统资源的操作,在多层结构的应用程序环境中这种耗费资源的动作对系统的性能影响尤为明显。 在多层结构的应用程序中通过连接池(connection pooling)技术可以使系统的性能明显得到提到,连接池意味着当应用程序需要调用一个数据库连接的时,数据库相关的接口通过返回一个通过重用数据库连 接来代替重新创建一个数据库连接。通过这种方式,应用程序可以减少对数据库连接操作,尤其在多层环境中多个客户端可以通过共享少量的物理数据库连接来满足 系统需求。通过连接池技术Java应用程序不仅可以提高系统性能同时也为系统提高了可测量性。 数据库连接池是运行在后台的而且应用程序的编码没有任何的影响。此中状况存在的前提是应用程序必须通过DataSource对象(一个实现 javax.sql.DataSource接口的实例)的方式代替原有通过DriverManager类来获得数据库连接的方式。一个实现 javax.sql.DataSource接口的类可以支持也可以不支持数据库连接池,但是两者获得数据库连接的代码基本是相同的。 一个DataSource对象通常注册在JNDI命名服务上,应用程序可以通过标准的方式获得到注册在JNDI服务上的DataSource对象。 代码如下: Context ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("jdbc/openbase");   如果当前DataSource不支持数据库连接池,应用程序将获得一个和物理数据库连接对应的Connection对象。而如果当前的 DataSource对象支持数据库连接池,应用程序自动获得重用的数据库连接而不用创建新的数据库连接。重用的数据库连接和新建立连接的数据库连接使用 上没有任何不同。应用程序可以通过重用的连接正常的访问数据库,进行访问数据的操作,完成操作后应显式的调用close()关闭数据库连接。   Connection con = ds.getConnection("User", "Pwd");   相关数据库的操作;   con.close();   当关闭数据连接后,当前使用的数据库连接将不会被物理关闭,而是放回到数据库连接池中进行重用。   JDBC3.0规范中数据库连接池框架   JDBC3.0规范中通过提供了一个支持数据库连接池的框架,这个框架仅仅规定了如何支持连接池的实现,而连接池的具体实现JDBC 3.0规范并没有做相关的规定。通过这个框架可以让不同角色的开发人员共同实现数据库连接池。   通过JDBC3.0规范可以知道具体数据库连接池的实现可以分为JDBC Driver级和Application Server级。在JDBC Driver级的实现中任何相关的工作均由特定数据库厂商的JDBC Drvier的开发人员来具体实现,即JDBC Driver既需要提供对数据库连接池的支持同时也必须对数据库连接池进行具体实现。而在Application Server级中数据库连接池的实现中特定数据库厂商的JDBC Driver开发人员和Application Server开发人员来共同实现数据库连接池的实现(但是现在大多数Application Server厂商实现的连接池的机制和规范中提到有差异),其中特定数据库厂商的JDBC Driver提供数据库连接池的支持而特定的Application Server厂商提供数据库连接池的具体实现。   JDBC3.0规范规定了如下的类和接口来支持数据库连接池的实现。   javax.sql.ConnectionEvent   javax.sql.ConnectionPoolDataSource   javax.sql.PooledConnection   javax.sql.ConnectionEventListener   其中除javax.sql.ConnectionEvent是类,其它的均为接口。  C:/1.jpg  screen.width-333)this.width=screen.width-333;" src="/Develop/ArticleImages/19/19446/CSDN_Dev_Image_2003-7-41948411.jpg">   JDBC3.0连接池框架的关系图   通过此图可以大概的了解相关接口在一个典型的三层环境中应用程序的位置。   数据库连接池实现层次中,由特定数据库厂商的JDBC Driver开发人员提供连接池支持,而特定Application Server提供连接池实现的情况比较复杂,其它的实现层次均可视为其简化情况的一种。下面将针对这种情况进行说明。   在这个框架主要有两个用户角色存在,它们分别是:   特定数据库厂商的JDBC Driver开发人员,之后将简称为Driver Vendor   特定Application Server中连接池开发人员,之后将简称为Pooling Vendor   C:/2.bmp   screen.width-333)this.width=screen.width-333;" src="/Develop/ArticleImages/19/19446/CSDN_Dev_Image_2003-7-41948413.gif">   JDBC3.0规范中在上述情况下各个接口和类之间的UML图   下面对几个关键模块进行详细的说明:   Driver Vendor DataSource:   Driver Vendor必须提供一个ConnectionPoolDataSource 接口的具体实现,通过这个接口Pooling Vendor可以得到一个PooledConnection对象,从而使第三方实现的连接池可以使用特定数据库厂商得到JDBC Driver产生的数据库连接。在这里ConnectionPoolDataSource接口扮演的角色可以视为产生PooledConnection 对象的工厂。   Driver Vendor PooledConnection:   Driver Vendor必须提供标准PooledConnection 接口实现的类,这个接口允许Pooling Vendor在JDBC Driver提供连接池支持的基础上实现连接池。一个具体PooledConnection对象代表了一个物理的数据库连接;由 PooledConnection对象创建Connection对象仅仅只是一个指向PooledConnetion对象的句柄。在JDBC 3.0连接池实现框架中PooledConnection对象扮演的角色可以视为产生Connection对象的工厂。   Pooling Vendor DataSource: Pooling Vendor必须实现DataSource接口,这个接口是和连接池实现模块进行交互的入口点。ConnectionPoolDataSource根据需要创建PooledConnection对象。   Pooling Vendor Connection Cache:   此模块是Pooling Vendor对连接池的具体实现。JDBC 3.0 规范没有规定在DataSource对象和数据库连接池实现之间的需要实现的接口,所以它们之间的交互由Pooling Vendor自己定义。一般而言,一个数据库连接池的具体实现包含了一个或若干个具体的类,但是在连接池实现模块中必须包含一个类实现标准 ConnectionEventListener接口。当一个PooledConnectiond对象被关闭或者出现异常的时 候,PooledConnection对象将会向ConnectionEventListener接口发送ConnectionEvent对象,连接池实 现模块将会根据返回的ConnectionEvent对象对PooledConnection进行关闭或者重用操作。   ConnectionEvent:   实现连接池时,当应用程序调用Connection.close()试图去关闭数据库连接时,这时需要有一个通告给连接池实现模块,通告对当前的数据 库物理连接(PooledConnection 对象)进行重用。为了使连接池实现模块能得到这种"通告",连接池实现模块必须实现ConnectionEventListener接口,而且同时需要注 册成为PooledConnection对象的监听者。连接池实现模块通过 PooledConnection.addConnectionEventListener()方法注册自己成为一个监听者。   在典型三层环境中具体调用流程:   当应用程序通过调用DataSource.getConnection()得到一个数据库连接。 Pooling Vendor实现的DataSource对象在连接池中进行查找看当前是否有有效的PooledConnection对象,如果连接池中有可用的PooledConnection,则进行检查,如果当前的PooledConnection可用则使用。   如果如果连接池中没有可用的PooledConnection对象,或者当前的PooledConnection对象不正确,那么Pooling Vendor调用ConnectionPoolDataSource.getPooledConnection类创建一个新的 PooledConnection对象,这时由Driver Vendor实现的ConnectionPoolDataSource将会创建一个满足要求新的PooledConnection对象,并将其返回给连接 池实现模块进行管理。   然后,Pooling Vendor会调用PooledConnection.getConnection()获得一个逻辑的Connection对象,这个逻辑的 Connection对象将会象正常的Connection对象返回给应用程序。这个逻辑Connection对象实际上是连接池中 PooledConnection对象的一个句柄,当连接池有效时,应用程序调用DataSource.getConnection()就会得到这个句 柄。简而言之,应用程序此时使用的Connection对象仅仅是其创建者PooledConnection对象的句柄而已。   连接池实现模块调用PooledConnection.addConnectionEventListener()将自己注册成为一个PooledConnection对象的监听者,当数据库连接需要重用或者关闭的时候连接池实现模块可以得到通告。   当应用程序通过调用Connection.close()来关闭数据库连接,这时一个ConnectionEvent对象被创建并被返回到连接池实现 模块,连接池实现模块接受到此通告后,将PooledConnection对象返回到池中进行重用。这些过程中其它角色都不能访问 PooledConnection.close()方法,能访问这个方法的只有Pooling Vendor,它们使用这个方法对连接池中的对象进行操作,通过PooledConnection.close()方法可以关闭物理数据库连接。
2023-08-15 17:53:241

java poolingclientconnectionmanager在哪个jar

orgapachehttpcomponentshttpclient4.2-alpha1httpclient-4.2-alpha1.jar orgapachehttpimplconnPoolingClientConnectionManager.classorgapachehttpcomponentshttpclient4.2.1httpclient-4.2.1.jar orgapachehttpimplconnPoolingClientConnectionManager.classorgapachehttpcomponentshttpclient4.3.1httpclient-4.3.1.jar orgapachehttpimplconnPoolingClientConnectionManager.classorgapachehttpcomponentshttpclient4.3.2httpclient-4.3.2.jar orgapachehttpimplconnPoolingClientConnectionManager.classorgapachehttpcomponentshttpclient4.3.4httpclient-4.3.4.jar orgapachehttpimplconnPoolingClientConnectionManager.classorgapachehttpcomponentshttpclient4.3.5httpclient-4.3.5.jar orgapachehttpimplconnPoolingClientConnectionManager.classorgapachehttpcomponentshttpclient4.5httpclient-4.5.jar orgapachehttpimplconnPoolingClientConnectionManager.class
2023-08-15 17:53:421

Min Pool Size=50;Max Pool Size=100;Connect Timeout=60 ?

1、Connect Timeout 就是时间超时;2、Min Pool Size 是指最小程序池;3、Pooling=true 就是开启连接池;
2023-08-15 17:53:501

N81刷机到Pooling phone...的时候,接着就显示Phone not found...

送去客服吧以后刷机 不要乱来除非很懂
2023-08-15 17:54:262

卷积神经网络——卷积层、池化层和激活函数

2018年11月20日,在看tensorflow的时候发现还是有很多概念没有理解透彻,发现一个很赞的资源(估计大家都知道的,只有我现在才发现),吴恩达老师在网易云课堂上开的深度学习的 课程 ,感觉很赞.本文实际上是吴恩达卷积神经网络视频学习笔记。 2019年2月14日,再次温故这部分的内容,添加了1.1章节的自问自答,添加了对池化层实现反向传播的方式,添加了激活函数relu和sigmoid的对比。 通过一个3 * 3的每列值相同、第一列为1,第二列为0,第三列为-1的过滤器可以检测垂直的边沿。注意到1表示亮,-1表示暗。这样可以发现正负值的边沿。 对于垂直边缘过滤器而言,重要的是中间一列为0,左右两列的值可以相差尽可能的大。 这个过滤器的数值也是可以通过反向传播算法学习的,不一定需要在算法开始之前就决定。 深度学习甚至可以去学习其他的边沿,无论是45度、73度乃至是其他的角度,虽然比手工要复杂一些,但是确实具有这样的能力。 为什么需要填充?大家都知道,卷积就是用过滤器(f x f)从左到右、从上到下的扫描一个矩阵(n x n)。有两种卷积操作,一种称为valid-conv,一种称为same-conv。每次卷积的时候,过滤器右侧碰到矩阵右边界就结束当前行的扫描,下侧碰到矩阵下边界就结束扫描,因此通过过滤器的图像都会缩小,变为(n-f+1) * (n-f+1)。valid-conv就是这样的卷积操作,而same-conv会在卷积之前填充原始图,使得卷积之后的大小不变。 一般来说,若原图像大小为n * n,过滤器大小为f * f,那么需要padding的大小为p=(f-1)/2。一般来说我们会设置f为奇数,很少看见偶数的过滤器。其中的原因之一就是为了对称填充。另一个原因可能是一般需要将过滤器的中间点用于定位卷积的位置,而偶数过滤器没有中间点。 上面的提到的卷积过程每次只移动一步。实际上过滤器可以移动不止一步,用s表示步长。那么n x n的矩阵输入, f x f的过滤器, p填充padding,以及s步长的情况下,输出的矩阵大小为 (n+2p-f)/2+1 x (n+2p-f)/2+1 ,这里是向下取整的,这意味过滤器只能在输入图像内部移动,不可以移动出边缘。 注意 在tensorflow中,有两种填充方式,一种是same,一种是valid。same是填充,而valid是不填充。如果遇到valid,那么实际计算矩阵大小的时候,是向上取整,而不是这里提到的向下取整。如果是same模式,那么最后的矩阵形状是n/s,也是向上取整 上面提到的卷积的输入是n x n的,这一般是灰度图像。对应彩色图像则存在RGB三个颜色channel,这样的图片是n x n x 3。此时的过滤器也必须存在第三个维度,即channel维度,且一个过滤器的channel维度必须和输入的channel维度一致。这样的卷积结果就是三个维度上,过滤器和输入的重叠位置乘积之和。最后的输出是(n - f + 1) x ( n - f +1)的。 注意,输出是二维的 我们可以使用N个不同的过滤器得到不同的N个二维输出,按照输入的格式将其叠起来,这样输出就是 (n - f + 1) x ( n - f +1) x N了。 在上面一节中已经讲了如何得到输入和一个过滤器卷积之后的结果。通常会给卷积的结果添加一个偏执,然后使用非线性的函数进行处理,得到的就是这层网络的输出。将过滤器的参数标记为W,偏置为 b(一个channel的输出矩阵Wa的偏置是一个实数,而非一个矩阵。一个layer的偏置b的维度和通道数channel一致) , 输入数据为上层的激活值。这样每个过滤器处理之后的结果就可以看成是经过了该layer一个节点之后的输出。 下面是每层的符号标记,以及根据上一层计算下一层输入大小的公式,右下角是使用BP学习更新的时候参数更新的次数。可以看到每层的参数的个数只和这层的filter的大小、数目有关,而和输入的规模无关。这样就可以通过控制参数的数量避免过拟合了。 可以从下面的课件中看到,卷积神经网络的趋势是长度和高度逐渐减少,而channel逐渐加深。最后一层会将卷积层平铺开来,形成一个全连接。全连接层会连接到最后一个判别函数上,判别函数可以是logistic或者softmax层,用于输出类别或者概率。 一般情况下,卷积网络除了卷积层之外,还会有池化层和全连接层,这些层可以提供更好的学习。 池化层一般在卷积层之后,可以也可以看成一个过滤器,实际上实现的一个采样的功能,其主要的思想是,着重提取具有某种倾向的特征,比如最大池化对应的是更显著的特征;平均池化对应的是更加平滑的特征。过滤器有几点不同 一般常用的池化层有max_pooling和average_pooling.max_pooling更加常用。 ,最大池化层意味着检测某个特征,并始终将这个特征留在池化层的输出中 。 池化层的输入n x n x nc,过滤器 f x f,步长s,输出 ((n-f)/s+1) x ((n-f)/s+1) * nc。 一般取s=2,这意味着输入的长宽减小一半。 比较好奇的一个问题是,池化层的存在对反向传播有什么影响?我们都知道在传统的神经网络中,反向传播算法实际上就是利用函数的梯度进行反向传播的,那么池化层这种既改变了矩阵大小又不好求导的情况,怎么处理呢? (下面的内容来自 迷川浩浩_ZJU 的博客 ) mean pooling的前向传播就是把一个patch中的值求取平均来做pooling,那么反向传播的过程也就是把某个元素的梯度等分为n份分配给前一层,这样就保证池化前后的梯度(残差)之和保持不变,还是比较理解的。mean pooling比较容易让人理解错的地方就是会简单的认为直接把梯度复制N遍之后直接反向传播回去,但是这样会造成loss之和变为原来的N倍,网络是会产生梯度爆炸的。 2、max pooling max pooling也要满足梯度之和不变的原则,max pooling的前向传播是把patch中最大的值传递给后一层,而其他像素的值直接被舍弃掉。那么反向传播也就是把梯度直接传给前一层某一个像素,而其他像素不接受梯度,也就是为0。所以max pooling操作和mean pooling操作不同点在于需要记录下池化操作时到底哪个像素的值是最大,也就是max id 一般概念上的一层包括卷积层和池化层,之所以不把池化层当做新的一层是因为池化层没有需要学习的参数,一般意义上的layer是有权重和参数需要学习的。 尽量不要自己设置超参数,而是尽量参考别人论文里面使用的超参数,选择一个在别人任务中效果很好的超参数。 下面的表中列举了上面的网络每一层的数据规模a^(l)以及参数数量。可以发现数据的规模逐渐减小。主卷积层的参数比较少,而进入全连接层之后参数数量很大。(表格中最后三列的参数数量可能存在错误,应该是48000 + 120, 120 * 84 + 84, 84 * 10 + 10) 以上的两个特征可以明显的减少参数。减少过拟合 (内容来自 迷川浩浩_ZJU 的博客 ) 常用的激活函数有sigmoid函数和relu函数. Relu(x)={if x>0 then x;else 0}为了在反向传播算法中可以正常使用,将其在x=0x=0处的导数置为1,所以它的导数也就变为了 δRelu(x)={if x>0 then 1 else 0} Relu是一个非常优秀的激活哈数,相比较于传统的Sigmoid函数,有三个作用
2023-08-15 17:54:341

linq 是否的是默认有数据库连接池

没有,需要你手动设置。另外你应该说Linq to SQL ....可以使用一组名称-值对以链接字符串的形式配置链接池。例如,可以配置池是否有效(默认是有效的),池的最大、最小容量,用于打开链接的排队请求被阻断的时间。下面的示例字符串配置了池的最大和最小容量。"Server=(local); Integrated Security=SSPI; Database=Northwind;Max Pool Size=75; Min Pool Size=5"摘要连接池允许应用程序从连接池中获得一个连接并使用这个连接,而不需要为每一个连接请求重新建立一个连接。一旦一个新的连接被创建并且放置在连接池中,应用程序就可以重复使用这个连接而不必实施整个数据库连接创建过程。当应用程序请求一个连接时,连接池为该应用程序分配一个连接而不是重新建立一个连接;当应用程序使用完连接后,该连接被归还给连接池而不是直接释放。确保你每一次的连接使用相同的连接字符串(和连接池相同);只有连接字符串相同时连接池才会工作。如果连接字符串不相同,应用程序就不会使用连接池而是创建一个新的连接。优点使用连接池的最主要的优点是性能。创建一个新的数据库连接所耗费的时间主要取决于网络的速度以及应用程序和数据库服务器的(网络)距离,而且这个过程通常是一个很耗时的过程。而采用数据库连接池后,数据库连接请求可以直接通过连接池满足而不需要为该请求重新连接、认证到数据库服务器,这样就节省了时间。缺点数据库连接池中可能存在着多个没有被使用的连接一直连接着数据库(这意味着资源的浪费)。技巧和提示1. 当你需要数据库连接时才去创建连接池,而不是提前建立。一旦你使用完连接立即关闭它,不要等到垃圾收集器来处理它。2. 在关闭数据库连接前确保关闭了所有用户定义的事务。3. 不要关闭数据库中所有的连接,至少保证连接池中有一个连接可用。如果内存和其他资源是你必须首先考虑的问题,可以关闭所有的连接,然后在下一个请求到来时创建连接池。连接池FAQ当第一个连接请求到来时创建连接池;连接池的建立由数据库连接的连接字符创来决定。每一个连接池都与一个不同的连接字符串相关。当一个新的连接请求到来时如果连接字符串和连接池使用的字符串相同,就从连接池取出一个连接;如果不相同,就新建一个连接池。当连接池中的所有连接都已经关闭时关闭连接池。当连接池已经达到它的最大连接数目时,有新的连接请求到来时,新的连接请求将放置到连接队列中。当有连接释放给连接池时,连接池将新释放的连接分配给在队列中排队的连接请求。你可以调用close和dispose将连接归还给连接池。对于.NET应用程序而言,默认为允许连接池。(这意味着你可以不必为这件事情做任何的事情)当然,如果你可以在SQLConnection对象的连接字符串中加进Pooling=true;确保你的应用程序允许连接池的使用。ADO.NET默认为允许数据库连接池,如果你希望禁止连接池,可以使用如下的方式:1) 使用SQLConnection对象时,往连接字符串加入如下内容:Pooling=False;2) 使用OLEDBConnection对象时,往连接字符串加入如下内容:OLE DB Services=-4;
2023-08-15 17:54:441

怎么在调试中查看事务是否已经开启

给个例子你,例子是使用的DB2数据库,你可以改为其他的,参考着改下就没问题了。privatevoidbutton10_Click(objectsender,EventArgse){DbProviderFactoryfactory=DbProviderFactories.GetFactory(@"IBM.Data.DB2");DbConnectioncon=factory.CreateConnection();con.ConnectionString=@"Server=192.20.30.167:50000;Database=DEVP;UID=db2;PWD=db2;CurrentSchema=TK;ConnectionLifetime=60;ConnectionReset=false;MaxPoolSize=5;MinPoolSize=3;Pooling=True;ConnectTimeout=15";DbCommandcmd=factory.CreateCommand();cmd.CommandType=CommandType.Text;cmd.CommandText="select*fromtbtickettype";cmd.Connection=con;cmd.CommandTimeout=300;DbDataAdapterda=factory.CreateDataAdapter();da.SelectCommand=cmd;con.Open();DbTransactiontran=con.BeginTransaction(IsolationLevel.ReadCommitted);da.SelectCommand.Transaction=tran;//在连接起事务后,必须指定命令的事务try{DataSetds=newDataSet();da.Fill(ds);ds.Tables[0].Rows[0]["TICKETNAME"]="面部走引组()";cmd=factory.CreateCommand();cmd.CommandText="updatetk.TBTICKETTYPEsetticketname="面部走引组(zzz)"wheretickettype=19";cmd.Connection=con;cmd.CommandTimeout=300;da.UpdateCommand=cmd;da.UpdateCommand.Transaction=tran;inta=da.Update(ds);//只有修改状态的才执行更新语句DbConnectioncon1=factory.CreateConnection();con1.ConnectionString=@"Server=172.20.30.107:50000;Database=BL_DEVP;UID=db2inst1;PWD=db2;CurrentSchema=TK;ConnectionLifetime=60;ConnectionReset=false;MaxPoolSize=5;MinPoolSize=3;Pooling=True;ConnectTimeout=15";DbCommandcmd1=factory.CreateCommand();cmd1.CommandType=CommandType.Text;cmd1.CommandText="select*fromtbtickettype";cmd1.Connection=con1;cmd1.CommandTimeout=300;da=factory.CreateDataAdapter();da.SelectCommand=cmd1;con1.Open();DbTransactiontran1=con1.BeginTransaction(IsolationLevel.ReadUncommitted);//区别就是可以脏读(及能读出事务过程中已经修改但未提交的数据)da.SelectCommand.Transaction=tran1;DataSetds1=newDataSet();da.Fill(ds1);tran1.Commit();con1.Close();tran.Commit();//在提交前如果进行select*fromtk.TBTICKETTYPEwithur就能读出尚未提交的更新,实际上就是ReadUnCommitted的效果MessageBox.Show("OK");}catch{tran.Rollback();}finally{tran.Dispose();con.Close();}}
2023-08-15 17:54:511

跨国公司内部资金流动的主要形式有那些?具体包括哪些内容?

  把资金汇集到一起 形成一个像蓄水池一样的 储存资金的空间 通常用在集资投资 房地产 或是保险领域  保险公司有一个庞大的资金池 赔付的资金流出和 新保单的资金使之保持平衡  银行也有一个庞大的资金池 贷款和存款的 流入流出 使这个资金池基本保持稳定  基金也是一个资金池 申购和赎回的 资金流入流出使 基金可以用于投资的资金处于一个相对稳定的状态  现金池(Cash Pooling)也称现金总库。最早是由跨国公司的财务公司与国际银行联手开发的资金管理模式,以统一调拨集团的全球资金,最大限度地降低集团持有的净头寸。现金池业务主要包括的事项有成员单位账户余额上划、成员企业日间透支、主动拨付与收款、成员企业之间委托借贷以及成员企业向集团总部的上存、下借分别计息等。不同的银行对现金池有具体不同的表述。  花旗银行对现金池的定义是:现金池结构是用于企业间资金管理的自动调拨工具,其主要功能是实现资金的集中控制。现金池结构包含一个主账户和一个或几个子账户。现金池资金的自动调拨通常在日终发生,调拨的金额取决于各子账户的日终金额和目标金额,即日终时各子账户余额为所设定的“目标余额”,而所有的剩余资金将全部集中在主账户。  汇丰银行在2006年亚太区现金管理指南中对现金池的定义是:现金池也称利息合计,将多个账户余额进行抵消,并计算净余额的利息。这是将多个账户余额通过转账机制,使资金在账户间进行实质性转移和集中安排。资金集合类别包括零余额账户(ZBA)、目标余额账户(TBA)及自动投资账户。  目前我国不少商业银行如招商银行推出的现金池管理,就是以没有贸易背景资金转移调度、利息需要对冲、账户余额仍然可以分开、账户余额集中的形式来实现资金的集中运作,这是将委托贷款最大限度的灵活应用。在集团与银行双方合作中,银行是放款人,集团公司和其子公司是委托借款人和借款人,然后通过电子银行来实现一揽子委托贷款协议,使得原来需要逐笔单笔办理的业务,变成集约化的业务和流程,实现了集团资金的统一营运和集中管理。  我国一些大型企业集团的资金集中管理模式有收支两条线、内部银行、资金结算中心、财务公司等,而且又以结算中心和财务公司两种方式居多。资金结算中心通常是在企业集团内部设立的、办理集团内部各成员现金收付和往来结算业务的专门机构,它通常设立于财务部门内,是一个进行独立资金运作运行的职能部门。财务公司是由人民银行批准,在集团下设立并为本集团成员企业提供发展配套金融服务的非银行金融机构。  在现金池框架内,集团公司和其子公司是委托借款人和借款人。子公司在池里透支是贷款,要付息;相反,在池里存款是放款要收取利息。所以,现金池使集团与商业银行形成了紧密的战略联盟关系,具有独特的管理功效。即使通过结算中心或财务公司来进行资金管理的集团,也应该再导入现金池模式,使集团资金管理制度和流程更具效率。  [编辑]现金池的主要作用  随着市场全球化不断扩展,企业对流动资产的管理与集中性的要求也变得日益紧迫。同时,企业收购或合并带来了新的管理系统、与银行业的联系及账户结构,使得企业财务的整合过程变得更加复杂。于是,在成本降低、自动化推进与流程归并中,企业一直面临着各种压力。  典型的情况是,子公司希望保持与本地银行的关系或希望将资金放在当地银行,而子公司此类要求又必须放在整个集团的集中化资产管理过程中来考虑。另一方面,从总公司的角度,将开户银行个数限制在一个合理的范围内,或将资金统一放在总公司层面进行管理,是体现集团集中化资产管理优势的一个重要部分。  同时,国家各项法规的限制也在不断放宽,为企业资金有效管理和利用提供了更加便利的环境。例如,国家已出台一系列鼓励企业地区总部发展的法规,使人民币现金池成为一种受欢迎的流动资产管理方案。此外,对外汇现金池法规的出台也为企业更有效地管理自有外汇提供了基础。  具体而言,对一个跨国公司,尤其是在中国拥有众多附属机构的集团公司的财务总监而言,流动资金管理显得尤为重要。通常,财务总监管理企业流动资金的主要目的有四,一是在集团公司层面管理和控制整个集团的流动性资金需要,二是减少资金成本,三是在保证流动性的前提下获取最高资金回报,四是通过短期投资来积极管理闲置资金。  与此对应,通过建立现金池架构,企业财务主要的改善表现为以下三方面。  首先,减少利息成本。自动化资金集中结构降低了集团公司对人民币贷款的需求。公司内部的融资成本可以设置为低于人民银行贷款利率。不过,为避免转移定价问题,利率必须按照“正常交易关系”来设定,换句话说,利率水平必须也能适用于与第三方进行的类似交易。  其次,改进流动性管理。在现金池结构中,各子账户将保持最少的资金余额,以便充分提高整个集团的资金利用率和流动性。在日终,任何子账户余额的盈余或赤字都将被集中汇划到主账户。这样,过剩的流动资金可以得到更好的管理和控制——盈余资金可以从一些参加现金池的子公司账户中划转,用来资助其他现金短缺的实体。  第三,节约管理成本。维持很少的人民币贷款,可以减少公司对资金账户管理的成本。此外,报告服务能提供详细的信息报告以简化现金池的监控流程。花旗银行的流动性管理系统包括一套协调的预先定义报告以及通过花旗银行电子银行系统可达到的账户头寸跟踪。  [编辑]运作现金池需关注的几个具体问题  实质上,现金池是一种管理理念和管理方针,其有效运作并取得预期效果,需要对集团、各成员公司、银行之间错综复杂的资金配置与管控体制进行通盘设计、精心组织。  1、选择适宜的现金池运作方式  集团现金池通常需要借助外部银行系统的支持来完成,分为实体现金池(Physical Pool)和名义现金池(Notional Pool)。  实体现金池即账户零余额集合,指将若干分(子)公司的现金以现金集中或现金清零的形式管理,分(子)公司通过零余额子账户来完成业务分离。比如招商银行推出的现金池管理的基本操作是,集团总公司每日终统一上收各成员企业账户资金头寸,并集中到集团总公司“现金池”(CASH POOL)账户;集团总公司以现金池中资金及其统一向招商银行申请获得的授信额度为保证,约定各成员企业的日间透支额度;在约定的透支额度内,若日间成员企业账户余额不足,以账户透支的方式自主对外付款;日终,集团总公司与招商银行统一清算,以现金池资金或授信项下融资补足各成员企业透支金额。  名义现金池,是指用各银行账户中的不同现金头寸产生的综合盈余来抵补综合赤字。其运作机制是:每个参与现金池的公司保留归于现金池的货币所在账户,然后银行综合所有参与账户,综合结出一个净额以反映现金头寸,并没有实际资金转移。  尽管现金池成员属于同一个母公司,但仍维持法律和税务上的相互分离。由于我国法律限制企业间的借贷行为,因此集团内部各子公司主要通过“委托贷款”(或协议转账)的方式实现实体现金池管理。  另外,按是否主要借助于银行来考查,现金池可分为以银行为中介的现金池与以企业集团财务公司为中介的现金池。  以银行为中介的现金池,是采用多对多的委托贷款方式,即每个法人公司都可能是委托存款的提供者和委托贷款的需求者,现金池中的委托存款余额不小于委托贷款。集团企业和法人关联公司的账户超过目标余额(由于每笔委托贷款都要缴纳印花税和利息收入营业税,零余额账户不经济、没有必要)的部分,上存至委托存款账户或归还时间最早的那笔借入委托贷款。如果出现导致现金池中的委托存款余额小于委托贷款余额的借入委托贷款请求,由委托存款余额小于委托贷款余额的部分形成资金需求企业的账户透支。  以企业集团财务公司为中介的现金池,服务仍由银行提供,不同的是银行并不是以委托贷款中介出现,而是以现金池软件和支付中介的身份出现,其原理比以银行为中介的现金池要简单得多。集团内的法人公司富余资金统一上存到财务公司的委托存款账户,需要资金的企业在委托存款大于委托贷款的金额内借入委托贷款,借入的委托贷款不足支付请求的部分可通过银行或财务公司提供流动资金贷款解决。  2、现金池管理必备的内部制度体系  现金池实质上是一种集团集权、资金集中管控的制度,需要通过培训、内部沟通来构造一个以集团整体效益、竞争能力最大化,而不是以子公司个体或单笔资金业务成本高低为导向的公司文化,子公司管理层对现金池的认同、支持和配合是最为关键的基本前提。  由于子公司是独立法人,母公司对子公司的控股比例有全资、绝对控制、相对控股等大小差异,所以推进现金池,不仅要与子公司“少数股东”进行必要协商,而且要根据现金集中的“深度”和“广度”设计不同的集中管理体制。并且,在现有制度下,集团将上市的子公司纳入集团现金池管理范围必须特别慎重。(详见《资金集中管理的尴尬与败局》)  配合现金池管理,迫切需要建立和完善集团内部操作流程、内部岗位职责、信息沟通、资金授权划分、资金分类预算、内部委托贷款规则、内部审计、业绩评价等一系列制度。以资金预算为例,应该围绕“资金预算——资金审批——资金营运——业务控制——风险防范——决策支持”等流程,做到年预算、月平衡、日调度。在集团资金管理中必须坚持无计划的事不办、无预算的钱不花等资金管理原则,强化全面资金预算管理,严格按照预算控制资金流动。  3、集团总部要着力提升四种能力  推行现金池业务考验着集团下属企业是否能够服从大局,并把集团整体效益最大化而不是子公司局部利益放在首位的心态。相对来说,最大的被考验者是集团总部,因为现金池业务把集团总部彻底推到整个集团资金配置最前沿,是集团资金管理的“桥头堡”。集团总部必须具备很强的资金筹划、适时配置资金和投资决策能力。但是,据我们调查分析,一批集团不能推行现金池业务的最大障碍可能是集团总部的软弱,总部“总”不起来。  打造资金管理的强势集团总部是现金池业务取得长期、实质效果的制度安排。为此,集团总部提升四种能力。  首先是集中统一的对外融资能力。现金池之所以称之为“池”,一定要足额的现金储备为前提。总部应该能够经过测算分析,把握集团内的资金需求总规模,通过融资权力的集中与统一,确保总部强大的融资能力,保证充足的现金供应。  其次是集团总部的资金调度能力。现金池业务是以委托贷款的形式,把拥有多余头寸账户的资金转移到透支账户上,进行集团内部调拨、转移,集团既管理贷款发放,同时还要负责资金回笼。这种跨地域、跨行业、跨企业的调度与配置是高风险理财业务。在提高资金运用效率的同时确保资金的安全,防止集团资金链断裂是需要高超的资金调度能力的。  第三是集团总部的资金控制力。依托现金池这一平台,集团总部应该健全资金管理体系和制度,实现资金管控的标准化、规范化和一体化。集团管控的对象不仅仅是现金资源及其配置,还要能够深入到所属企业内部的经营与业务运作中,密切关注所属企业未来一段时间的产品竞争能力、业务领域优化及其市场份额的增长,把现金池管理与业务经营管理结合起来。  最后是总部对下属企业高质量的服务能力。现金池业务要求总部把对所属企业的管理与服务有机结合起来,寓服务于管理之中,在管理中强化服务。这种服务包括三个层面:首先是提供资金服务,保证下属企业生产经营正常的资金需要;其次是资金、市场等方面的信息服务;最后是总部应该适时对下属企业提供财务管理上的指导、咨询服务。  [编辑]现金池实例  现金池的建立,在国际国内有广泛的应用,国际上最为著名的就是GE公司“现金池”,而国内开展较为成功的是中石油和广东交通集团。现在以GE在中国的“现金池”为例,详细描述现金池的最佳实践。  2005年8月,国家外汇管理局批复了通用电气(GE)通过招标确定招商银行实施在华的美元现金池业务。GE目前在全球各地共有82个现金池,此次招标是GE第一次在中国大陆运用现金池对美元资金进行管理。GE在中国的投资是从1979年开始的,迄今为止已经投资设立了40多个经营实体,投资规模逾15亿美元,投资业务包括高新材料、消费及工业品、设备服务、商务融资、保险、能源、基础设施、交通运输、医疗和消费者金融等十多项产业或部门,GE在中国的销售额从2001年的10亿美元左右增长到2005年的近50亿美元。随着业务的扩张,各成员公司的现金的集中管理问题由于跨地区、跨行业的原因显露出来。在GE现金池投入使用之前,GE的40家子公司在外汇资金的使用上都是单兵作战,有些公司在银行存款,有些则向银行贷款,从而影响资金的使用效率。只有其人民币业务在2002年才实现了集中控制,人民币的集中管理也是通过现金池业务的形式由建行实施的。  GE在中国的销售收入中绝大部分是美元资产,而2004年以前我国外汇资金管理规定:两个企业不管是否存在股权关系,都不能以外币进行转账。这其实意味着对于在华的跨国公司来说,即使子公司账上有钱,母公司也不能使用,如此一来,GE在中国的美元业务的集中管理就不能实现。直到2004年10月,外汇管理局下发《关于跨国公司外汇资金内部运营管理有关问题的通知》,提出“跨国公司成员之间的拆放外汇资金,可通过委托贷款方式进行”。在这种情况下,GE公司与招行合作,规避政策壁垒实现了跨国公司集团总部对下属公司的资金控制。另外,以前GE的40个子公司的国际业务都是各自分别与各家银行洽谈,一旦GE总部将外汇资金上收之后,各子公司的开证、贴现等国际业务将会统一到招行。  GE公司在中国设立一个母公司账户,在每天的下午4点钟,银行系统自动对子公司账户进行扫描,并将子公司账户清零,严格按照现金池的操作进行。例如,A公司在银行享有100万美元的透支额度,到了下午4点钟,系统计算机开始自动扫描,发现账上透支80万美元,于是便从集团公司的现金池里划80万美元归还,将账户清零。倘若此前A公司未向集团公司现金池存钱,则记作向集团借款80万美元,而B公司如果账户有100万美元的资金盈余,则划到现金池,记为向集团公司贷歉,所有资金集中到集团公司后,显示的总金额为20万 美元。  这种做法实现了集团内部成员企业资金资源的共享:集团内部成员企业的资金可以集中归拢到一个“现金池”中,同时成员企业可以根据集团内部财务管理的 要求有条件地使用池内的资金。总部现金池账户汇集了各成员单位银行账户的实际余额,当成员单位银行账户有资金到账时,该笔资金自动归集到总部现金池账户; 各成员单位银行账户上的实际资金为零,各成员单位的支付资金总额度不超过集团规定的“可透支额度”;成员单位有资金支付时,成员单位银行账户与总部现金池 账户联动反映,实时记录资金变化信息;实行集团资金“现金池”管理,盘活了沉淀资金,提高了资金利用率。通过管理过程中的可用额度控制,成功降低资金风 险。  究其本质,招商银行的GE美元现金池项目就是对委托贷款的灵活应用。双方合作中,银行是放款人,集团公司和其子公司是委托借款人和借款人,然后通过电子银行来实现一揽子委托贷款协议,使得原来需要逐笔办理的业务,变成集约化的业务和流程,从而实现了整个集团外汇资金的统一营运和集中管理。  [编辑]对国企资金管理的思考  GE的案例其实是一个关于集团资金集中管理的常见做法。现金池只是集团资金管控模式之一。但是这种模式所显示的财务管理理念和资金调控技术,值得总结、提升和推广。集团总部要发挥“总部”的作用,不仅要对下属各子公司的资金收支进行实时监控,而且要强化集团内部资金调剂,灵活资金头寸,优化资金配置,降低现金持有规模,加速资金周转,提高集团总体资金使用效率。公司总部对于公司资金控制上的“无能为力”,各控股子公司独立作战。放任自流的现象绝非个案。实践表 明:公司在现金控制上的分权体制的结果会降低公司盈利能力,加大公司财务风险,而以把控现金流为重点的财务集中管理是惟一理性的制度安排。  与GE现金池业务相类似,我国一些大型集团资金集中管理模式有收支两条线、设立内部银行、结算中心,利用集团财务公司等,以结算中心和财务公司两种方式居多。结算 中心通常是由企业集团内部设立的。办理集团内部各成员现金收付和往来结算业务的专门机构,通常设立于财务部门内,是一个资金运作的职能部门。而财务公司是 集团公司下属的、由人民银行批准的非银行金融机构,它作为集团企业的子公司设立。无论是结算中心还是财务公司,尽管都须借助于外部商业银行才能履行其职 责,但是对于“现金池”业务来说,集团资金管理主要是依托商业银行,或者说银行已经成为集团实现各成员单位资金集中运作和集团内部资金共享的管理主体之 一,而不仅是资金管控的“配角”。相对于结算中心或财务公司,引入现金池可以充分享受银行提供的资金结算。  集团总部要着力提升资金筹划、调度配置,投资决策能力。推行现金池业务,考验着集团下属企业能否服从大局并把集团整体效益最大化放在首位,同时也考验着 银行的服务水平与质量。但是相对来说,最大的被考验者是集团总部,因为现金池业务把集团总部推到整个集团资金配置的最前沿,成为集团资金管理的“桥头堡”。集团总部必须具备很强的资金筹划、适时配置和投资决策能力。
2023-08-15 17:55:021

英语作文 拼车的好处和翻译

  Nowadays carpooling has becoming increasingly popular.The reason for this trend lies in the fact that the practice can bring many advantages.  First of all,by carpooling,the car usage rate can be considerably increased.Before,it was very common that just one person drove his car to work.Now two or more people use the car together.Thus the efficiency of the car is improved.A lot of gas can be saved through this way.In a world where resources are so limited,carpooling particularly should be encouraged.Usually the passengers will share the cost of gas,which is very economical.Another benefit stemming from carpooling is people do not need to worry about finding a place to park their car.Car parking is often a headache for many drivers,especially for those living in big cities where parking lots are so few.However,if several people do carpooling,then the problem would no longer exist.More importantly,using cars less is an effective way to reduce the emission of carbon dioxide and carpooling can obviously help people achieve it.If fewer cars are on roads,the greenhouse gas into the atmosphere will be cut by a great amount.  Admittedly,there are also some advantages of carpooling.The most important is the concern about safety.However,if you are cautious enough,any potential danger can be avoided.Also,the individual freedom may be somewhat interfered.But this is only a minor problem to most people.  To conclude,carpooling can generally bring people many benefits.It should be encouraged so that more and more people would do this.
2023-08-15 17:55:122

carpooling是什么意思啊??

同学你好,很高兴为您解答!  carpooling,您说的这个英文词语在CMA的考试中比较常见,学会这个词语对考取英文CMA资格证书特别有帮助。这个词语的汉语意思是:拼车。  希望高顿网校的回答能帮助您解决问题,更多CMA的相关问题欢迎提交给高顿企业知道。高顿祝您生活愉快!
2023-08-15 17:55:271

云计算的基本特征包括

云计算的基本特征包括:按需自助服务(On-Demand Self-Service)广泛的网络接入(Broad Network Access)资源池化(Resource Pooling)快速弹性伸缩(Rapid Elasticity)服务度量和优化(Measured Service)拓展资料:云计算(cloud computing,台湾译作云端运算),是分布式计算技术的一种,其最基本的概念,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。透过这项技术,网络服务提供者可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级计算机”同样强大效能的网络服务。云计算是一种资源交付和使用模式,指通过网络获得应用所需的资源(硬件、平台、软件)。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取。这种特性经常被比喻为像水电一样使用硬件资源,按需购买和使用。whenever.)最简单的云计算技术在网络服务中已经随处可见,例如搜寻引擎、网络信箱等,使用者只要输入简单指令即能得到大量信息。未来如手机、GPS等行动装置都可以透过云计算技术,发展出更多的应用服务。进一步的云计算不仅只做资料搜寻、分析的功能,更可计算一些像是分析DNA结构、基因图谱定序、解析癌症细胞等。随着云计算的不断成熟,越来越多的用户尝试用“云”来解决传统线下场景存在的难题;数以万计的中小企业创业者,更是在数字化转型的关口,搭上了发往“云上”的“高速列车”。
2023-08-15 17:55:361

carpooling是什么意思?

同学你好,很高兴为您解答!  carpooling,您说的这个英文词语在CMA的考试中比较常见,学会这个词语对考取英文CMA资格证书特别有帮助。这个词语的汉语意思是:拼车。  希望高顿网校的回答能帮助您解决问题,更多CMA的相关问题欢迎提交给高顿企业知道。高顿祝您生活愉快!
2023-08-15 17:56:131

CNN计算原理

CNN编码器与解码器: 神经网络为线性变换,当输入向量维度高于输出向量维度时,神经网络相当于一个编码器,实现高维特征的低维特征提取.反之,输入向量维度小于输出维度,神经网络相当于一个解码器,实现低维特征的高维重建. 在数学中, (f*g)(n) 为 f,g 的卷积,在连续空间定义为: 离散定义为: 将图像看成三维矩阵,卷积操作如下: BN是为了克服神经网络难以训练而提出的,在较深的网络结构中反向传播防止梯度弥散,在遇到train收敛速度很慢或者梯度爆炸等状况可以使用BN,提高模型精度. CNN正向传播: 训练过程通过反向传播更新权重,主要采用chain rule(链式求导法则): 零均值归一化/Z-score标准化 处理后数据变为均值为0,标准差为1的正态分布.通常神经网络和机器学习中很多问题都是基于正态分布的假设.这种参数变化不会改变分布自身形状 数据非标准化的原因可查看这篇文章 here 正态分布Box-Cox变换 将一个非正态分布转换为正态分布,使得分布具有对称性. 直方图均衡化 通过图像的灰度值分布,对图像对比度进行调整,可以增强局部对比度. 缩小features尺寸,实现upsample,减少计算量,防止网络过拟合 Avg Pooling 均值池化: 取卷积核平均值作为输出 Max Pooling 最大值池化操作: 取卷积核中最大值作为输出 一般情况池化区域不重叠 4*4 到 2*2 ,对于max pooling正向计算需要记录最大值所在位置,方向传播将参差传到最大值位置,其余位置补0.Avg pooling反向时将参差均分,传递到每个位置. 模拟人的神经元,只对部分神经元的输入做出反应.加入非线性因子,弥补神经网络的线性映射的不足.增强模型的表达能力. https://www.zhihu.com/question/22298352 https://blog.csdn.net/panglinzhuo/article/details/75207855
2023-08-15 17:56:351

为什么不试试拼车?那样可以降低费用,而且会使出行显得不同。 翻译成英语

why not try to carpooluff1f it costs less and makes the trip diffenert.
2023-08-15 17:56:463

为什么要采用最大池化层对特征图进行下采样?

对于一个网络,我们先使用了maxpooling进行池化,得到的网络模型架构如下: 然后我们删除了其中的最大池化层,得到了网络模型架构如下: 这种删除最大池化层的网络模型架构有如下两点问题: 1.这种架构不利于学习特征的空间层级结构。卷积神经网络学到的高级模式相对于初始输入来说仍然很小,这可能不足以学会对目标任务进行预测。我们需要让最后一个卷积层的特征包含输入的整体信息。 2.最后一层的特征图对每个样本共有22 22 64=30976个元素。这太多了。如果你将其展平并在上面添加一个大小为512层的Dense层,那一层将会有1580万个参数,这对于一个小型模型来说,会导致严重的过拟合。 综上所述,使用下采样的原因,一是减少需要处理的特征图的元素个数,二是通过让连续卷积层的观察窗口越来越大(即窗口覆盖原始输入的比例越来越大) ,从而引入空间过滤器的层级结构。 请注意,最大池化不是实现下采样的唯一方法。我们还可以在前一个卷积层中使用步幅stride来实现。此外,我们也可以使用平均池化来代替最大池化,其方法是将每个局部的输入图块变换为取该图块各通道的平均值而不是最大值。但是最大池化的效果往往比这些替代方法更好。简而言之,原因在于特征中往往编码了某种模式或概念在特征图的不同位置是否存在,而观察不同特征的最大值而不是平均值能够给出更多的信息。因此,最合理的子采样策略是首先生成密集的特征图(通过无步进的卷积),然后观察特征每个小图块上的最大激活,而不是查看输入的稀疏窗口(通过步进卷积)或对输入图块取平均,因为后两种方法可能导致错过或者淡化特征是否存在的信息。
2023-08-15 17:57:021

采用spooling技术的目的是

SPOOLing,即外围设备联机并行操作,它除了是一种速度匹配技术外、也是一种虚拟设备技术。用一种物理设备模拟另一类物理设备,使各作业在执行期间只使用虚拟的设备,而不直接使用物理的独占设备。这种技术可使独占的设备变成可共享的设备,使得设备的利用率和系统效率都能得到提高。 SPOOLing技术是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,他的核心思想是以联机的方式得到脱机的效果。低速设备经通道和设在 主机内存的缓冲存储器与高速设备相联,该高速设备通常是辅存。为了存放从低速设备上输入的信息,或者存放将要输出到低速设备上的信息(来自内存),在辅存分别开辟一固定区域,叫“输出井”(对 输出),或者“输入井”(对输入)。简单来说就是在内存中形成 缓冲区,在高级设备形成输出井和输入井,传递的时候,从低速设备传如缓冲区,在传到高速设备的输入井,在从高速设备的输出井,传到缓冲区,在传到低速设备。SPOOLing是SimultaneousPeripheralOperation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。SPOOLing系统既不同于脱机方式,也不同于直接藕合方式,SPOOLing技术实际上是一种外围设备同时联机操作技术,又称为排队转储技术。它在输入和输出之间增加了“输入井”和“输出井”的排队转储环节,以消除用户的“联机”等待时间。在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存输入井并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存运行。系统在管理输入井过程中可以“不断”读入输入的作业,直到输入结束或输入井满而暂停。若系统的某台台行式打印机采用了虚拟设备技术,那么若有进程要求对它打印输出时,SPOOLing系统并不是将这台打印机直接分配给进程,而是在共享设备(磁盘)上的输出,SPOOLing存储区中为其分配一块存储空间,进程的输出数据以文件形式此。各进程的数据输出文件形成了一个输出队列,由输出POOLing系统控制这台打印机进程,依次将队列中的输出文件实际打印输出。在SPOOLing系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一章I/O请求表。这样,便把独占设备改造为共享设备。
2023-08-15 17:57:101

拼车的好处英语作文

拼车既可以节省资源,也可以起到环保的作用,并且在我们赶时间的时候,而那个时候车子又比较少的情况下,拼车就可以节省我们的时间,又不致我们误事,这不是很好嘛
2023-08-15 17:57:192

乘机行李两个人放一个包里可以装40公斤吗?

不要超24公斤。。。加航规定是23公斤。但是我超了一点儿没有罚钱。。。还有他们只看行李部管行李是属于几个人的。。。所以不要指望你们是俩人的就可以多超哦。
2023-08-15 17:57:546

何为BAC pooling strategy

BAC pooling是构建超级池。也就是将建成的文库池化,然后PCR筛选。构建BAC文库一般要求覆盖7-10倍基因组,库容量越大覆盖倍数越高。假如您构建的物种基因组大小约500mb,按百博明创(北京)公司所建文库插入片段的平均大小在100kb计算,覆盖基因组7倍,库容量将达到约3.5万个clone;覆盖10倍,库容量达到约5万个clone。 构建BAC文库是一件非常复杂工作量的工作,大型BAC文库筛选更是一件庞大的工程,他们可以免费为客户提供相关技术信息,帮您建立BAC文库筛选系统。同时可以根据客户需要提供构建好的 pool 和 superpool,帮助客户建立“2维”、“3维”、最多达到“5维”的快速筛选系统。pool就是池(每块384孔板的一个混合池)。
2023-08-15 17:58:251

货物的托盘化运输的难度在哪里?

 对于托盘货物的码放有如下要求:  1、木质、纸质和金属容器等硬质直方体货物单层或多层交错码放,拉伸或收缩膜包装;  2、纸质或纤维质类货物单层货多层码放,用捆扎带十字封合。  3、袋类货物多层交错压实码放。  4、需进行防潮、防水等防护的纸制品、纺织品货物单层或多层交错码放,拉伸或收缩膜包装货增加角支撑,货物盖隔板等加固结构;  5、易碎类货物单程或多层码放,增加木质支撑隔板结构  6、金属瓶类圆柱体容器或货物单层垂直码放,增加货框及板条加固结构;  7、密封的金属容器等圆柱体货物单层或多层码放,木质货盖加固。  为了使托盘能够长久安全地使用,希望按下列要求正确使用托盘:  1、托盘应避免遭受阳光暴晒,以免引起老化,缩短使用寿命。  2、严禁将托盘从高处抛落,避免因猛烈地撞击而造成托盘破碎、裂纹。  3、严禁将货物从高处抛掷在托盘内。合理确定货物在托盘内的堆放方式。货物均匀置放,不要集中堆放,偏心堆放。承载重物的托盘应放在平整的地面或物体表面上。  4、叉车或手动液压车作业时,叉刺尽量向托盘叉孔外侧靠足,叉刺应全部伸进托盘内,平稳抬起托盘后才可变换角度。叉刺不可撞击托盘侧面以免造成托盘破碎、裂纹。  5、托盘上货架时,必须采用货架型托盘。承载量根据货架结构而定,严禁超载使用。托盘承载货物的固定方式托盘承载货物的固定方式主要有捆扎、胶合束缚、拉伸包装,并可相互配合使用。托盘承载货物的防护与加固托盘承载的货物进行固定后,仍不能满足运输要求的应该根据需要选择防护加固附件。加固防护附件由木质、塑料、金属等材料制成。
2023-08-15 17:58:362

第一代图卷积网络:图的频域网络与深度局部连接网络

本文需要的前置知识:傅里叶变换与谱图理论基础 链接: ① 傅里叶级数与傅里叶变换 ② 图神经网络中的谱图理论基础 CNN在机器学习领域内的一些问题上取得了比较成功的效果,这主要得益于它处理的底层数据通常有一个坐标网格结构(在1,2,3维度上),因此这些数据就存在平移不变性( translational equivariance/invariance)。图像、语音、视频就属于这一类数据。由于网络不具备平移不变性(网络中的每个节点的邻居数量是不固定的),因此在网络上直接应用CNN是比较困难的。 对于常规的网格数据,CNN能够利用以下几个很好地结合在一起的结构来大大减少系统中的参数数量: ①平移结构(translation structure),使用滤波器在数据的网格结构上平移处理数据,从而实现参数共享,并没有使用线性映射; ②网格上的度量,使用紧凑支持滤波器(compactly supported filters),紧凑支持滤波器是指与输入数据大小无关的滤波器,它的大小可能远小于输入数据的大小; ③网格的多尺度二元聚类(multiscale dyadic clustering),是指CNN应用了跨步卷积(stride convolution)和池化(pooling)来进行下采样(subsampling)。 如果网格数据有 个坐标,数据的维度为 (举例来说,图片的坐标数就是像素点数,维度就是图片的通道数,彩色图为 ,灰度图为 ),如果使用有 的输出节点的全连接网络就需要 个参数,相当于 的参数复杂度。使用任意的滤波器(也就是①)而非全连接网路能将参数复杂度降低到 ,使用网格上的度量结构(也就是②)来构建局部连接网络也可以。而如果两种一起使用能够将复杂度降低到 ,这里的 代表数据feature map的数量, 代表卷积核的数量,此时复杂度与 无关。最后使用网格的多尺度二元聚类(也就是③)可以进一步降低复杂度。 然而某些数据并不具备上述几何结构,比如表面张力或温度、从一个气象台网络中观测到的数据、来自社交网络或协同过滤的数据,这些数据都不能直接应用CNN。虽然CNN可以应用于多层,但是在特征维度上没有假设任何几何属性,导致一个4-D tensor只能沿其空间坐标进行卷积,即对于一个4-D的tensor而言,其有 四个维度,典型的CNN只能对 三个维度(即空间维度)进行卷积操作(通过3D convolution 操作),而不能对 维度(特征维度)进行操作。 网络提供了低维网格数据的一种泛化的框架,也就是GCN是CNN在domain上的推广,推广的方式是通过推广卷积的概念。在本文中将会讨论将深度卷积应用于网络数据的方法。本文一共提供两种架构。第一种为空域架构(spatial construction),这种架构能够对网络数据应用上述②和③,应用它们可以构建网络数据的局部连接网络,参数复杂度为 而非 。另一种架构称为频域架构(spectral construction),能够在傅里叶域内应用卷积。频域架构对于每一个feature map最多需要 的参数复杂度,也可以构建参数数量与 无关的架构。这两种架构都可以应用高效的前向传播并且能够应用在有多个坐标的数据的数据集上。 网络数据将由一个加权图 来表示, 是一个离散的节点集合,大小为 , 是一个对称半正定矩阵,也就是加权邻接矩阵。将CNN泛化到网络数据的最直接想法是应用多尺度的、层级的局部感受野。 在网络上可以轻松的定义局部性(locality)的概念。边的权重决定了节点的局部性,举例来说,可以设置一个阈值 来决定一个节点的邻居节点集合: 我们可以将注意力限制在稀疏的滤波器上,这些滤波器通过节点的邻居节点集合来定义感受野,以此来构建局部连接网络,这样可以将参数量降低为 ,这里的 代表平均邻居节点数量。 CNN通过池化和下采样来降低网格的大小,这一操作也就是网格的多尺度聚类( multiscale clustering):为每个cluster输入多个特征,输出一个特征。在图上被证明更为有效的聚类方法仍然有待研究,在本文中选择了一种比较朴素的聚类方法。如下图所示,下图中有两层聚类,灰色的点为数据中的无向图节点,然后进行聚类得到下一层带颜色的节点,然后再对这些带颜色的节点进行聚类,第一层为12个节点,第二层6个节点,第三层3个节点: 本文提出的空域架构也叫做深度局部连接网络(Deep Locally Connected Networks)。在这个架构中使用了网络的多尺度聚类,事实上这里的尺度可以认为是下采样的层数,在这里我们考虑 个尺度,实际上也就是说这个架构由 个卷积层,每个卷积层后面都有一个池化层(也就是进行一次聚类),因此这个架构中总共有 层,每层包括一个个卷积层和一个池化层。 我们设置 ,也就是输入层的节点集合,可以认为是第0层,每一层的节点集合记作 ,这里 , 可以认为是将 聚成 个簇的一个划分,因此 就表示第 层的节点个数,有 。另外定义 的节点的邻居节点集合的表示: 注意这里 的下标虽然为 ,但它代表的是第 的节点集合 的每个节点的邻域的表示,里面的每个 都是一个集合。 有了上述定义现在我们可以定义网络的第 层。假设输入信号是 上的实值信号,以 来代表第 层的卷积核的数量,也代表了第 层feature map的数量和信号的维度(类比CNN,卷积核的数量等于feature map的数量,也就是卷积后的信号特征的维度)。每一层都会将 上的 维的信号转换成 上的 维的信号,这一过程会权衡空间分辨率和新创建的特征坐标,也就是说,虽然经过每一层的节点数量降低了,但是卷积核的数量会逐层增加以保证特征的维度会增加,也就是说每层有两个结果: ①空间分辨率降低(loses spatial resolution),即空间点数减少; ②滤波器数目增加(increases the number of filters),即每个点特征数 增加。 第 层的输入用 来表示,这里的 是一个 的矩阵, 可以认为是一个列向量, 也就相当于第 个feature map的信号。那么第 层的输出 就被定义为: 这里的 代表第 层的第 个卷积核对第 层的第 个feature map进行卷积的部分,注意由于图的节点的邻居分布情况不同,所以卷积核不像CNN那样是共享的。这里的 是一个 的稀疏矩阵,矩阵的第 行的非零值都只会存在于 所指定的第 个节点的邻居节点位置。 代表非线性激活函数。 代表对卷积的结果进行之前所述的池化操作来降低节点的数量, 相当于聚类的结果,是一个 的稀疏矩阵,每一行指示一个簇的分布,如果采用平均池化,那么 的一个例子( )可以是: 整个过程可以用下图来表示: 另外通过以下过程构建第 层的 和 : 这里 的计算过程是指:由于 中的节点来自 中的节点的聚类,所以 之间的权重是 和 对应的聚类之前的 中节点之间所有权重的累加。 是对 的聚类,图聚类的方法是多种多样的,可以自行选取,这里的方法是采用 的 - covering,使用核函数 的 的 - covering是一个划分 ,满足: 以 代表平均节点数量,那么第 层用来学习的参数量为: 实践中通常有 , 是下采样因子,满足 。 这种架构的优点在于不需要很强的前提假设,只需要图具备邻域结构即可,甚至不需要很好的embedding向量。但是缺点在于没办法进行参数共享,对于每一层的每一个节点都要有单独的参数进行卷积而不能像CNN那样使用同一个卷积核在数据网格上进行平移。 在这里,以 代表图的度矩阵, 代表图的加权邻接矩阵,常用的图的拉普拉斯矩阵有三种: ①Combinatorial Laplacian,也就是普通形式的拉普拉斯矩阵: 其中的元素为: ②Symmetric normalized Laplacian,也就是对称归一化的拉普拉斯矩阵: 其中的元素为: ③Random walk normalized Laplacian,也就是随机游走归一化拉普拉斯矩阵: 其中的元素为: 为简便起见,本文应用的是第①种。对于一个固定的加权邻接矩阵 ,不同的节点信号列向量 (也就是说网络有 个节点)有不同的平滑性(smoothness)度量 ,在节点 处的平滑性度量为: 所有信号的平滑性度量为: 其实 也就是 ,关于拉普拉斯矩阵与信号平滑性的关系已经在本文开头给出的文章链接里介绍过了,这里不再赘述。 有了上面的公式我们可以得出最平滑的信号 其实是一个归一化的全 向量: 事实上 空间中最平滑的 个相互正交的单位向量其实就是 的特征向量: 每个特征向量 的平滑性度量的值其实也就是特征值 ,这一点只需要代入计算一下就可以得出,拉普拉斯矩阵的谱分解为 ,这里的 为特征值构成的对角矩阵, 为特征向量构成的正交矩阵, 的每一列都是一个特征向量,那么 计算一下就可以得到等于特征值 ,因此最平滑的信号向量就是特征值最小的特征向量,拉普拉斯矩阵的特征值就代表了特征向量的平滑度。 上面提到的一组特征向量其实就是 空间的一组基,前面的文章里说过图傅里叶变换其实就是将信号向量投影到拉普拉斯矩阵的各个特征向量上: 特征值的大小表示平滑程度,它对应传统傅里叶变换中的频率,频率高表示短时间内变动多,和这里的相邻节点变动大(变动越大越不平滑)能对应起来。因此图傅里叶变换就是在将一个图信号分解到不同平滑程度的图信号上,就像传统傅里叶变换将函数分解到不同频率的函数上一样。 一个任意信号向量 分解到所有的特征向量上对应的每个系数用 ( ,这些系数也就是图傅里叶变换后的系数)表示, 可以表示为 ,也就是 ,那么 的平滑性度量的值可以用这些系数和特征值表示: 两个函数 和 进行卷积可以应用卷积定理,用公式表达卷积定理就是: 应用卷积定理可以在频域上进行图的卷积操作,具体的方法是将滤波器 和图信号 都通过图傅里叶变换转换到频域然后计算转换后的结果的乘积(哈达玛积,也就是向量对应元素相乘),然后将相乘的结果再通过图傅里叶逆变换转换回空域,整个过程如下: 这里将 组织成对角矩阵 , 也就是神经网络要学习的参数。 在这里我们仍然使用 来代表网络的第 层, , 仍然代表卷积核的数量。这种架构的卷积的过程主要依照卷积定理,首先来描述卷积的过程,之后再描述如何进行下采样,因此现在假设第 层和第 层的节点数都是 ,那么第 层的输入 就是一个 的矩阵,输出 就是一个 的矩阵。第 层的计算过程可以表示为: 这里的 仍然相当于第 个feature map的信号。 也就是第 个卷积核中对第 个feature map进行卷积的部分,每一个 都是一个对角矩阵,其实就是前面的 ,这里之所以有一个连加号是因为要将多个feature map的结果累加起来, 仍然表示非线性激活,另外这里的 的每一列的特征向量是按照特征值的大小依次排列的(降序)。 通常只有拉普拉斯矩阵的前 个特征向量是有意义的,因为后面的特征向量对应的特征值比较小,特征向量非常的平滑,因此在实际中可以取拉普拉斯矩阵的前 列构成的矩阵 代替 ,这个过程就相当于频域架构的下采样的过程,这里的 就相当于空域架构中的 ,每一层可以取不同的值。按照目前这种架构所需的参数复杂度为 。 本文中提出的两种架构在两个数据集上进行了实验验证效果。具体实验设置参看原论文,这里不做赘述。 这个数据集是从MNIST数据集的每张图片( )上采样 个样本点构建图。实验样本如下图: 实验结果如下图所示: 这个数据集将MNIST数据集中的样本提升到3维空间中。实验样本如下图: 实验结果如下图所示: ref: 图傅里叶变换 ref: paper reading:[第一代GCN] Spectral Networks and Deep Locally Connected Networks on Graphs
2023-08-15 17:58:441

资金池是什么

资金池(CashPooling)也称现金总库。最早是由跨国公司的财务公司与国际银行联手开发的资金管理模式,以统一调拨集团的全球资金,最大限度地降低集团持有的净头寸。现金池业务主要包括的事项有成员单位账户余额上划、成员企业日间透支、主动拨付与收款、成员企业之间委托借贷以及成员企业向集团总部的上存、下借分别计息等。不同的银行对现金池有具体不同的表述。扩展资料“集合运作”是指利用统一集中管理的方法,将不同时间发行的各类理财产品所募集的资金,统一运用于符合该资产池投资范围的各类标的资产。这一条是资金池的出水管,保证池中水通过流动获得收益。“期限错配”是指资产池理财产品资金来源方的期限,与资金运用方的期限不完全相同,典型的就是“以短配长”,即资金来源方的期限短于资金运用方。这一条水龙头相当于调整进出水管的流量,保障资金池的平稳安全。“分离定价”是指同一资产池发售的各款理财产品收益水平,一般不与该款理财产品存继期内集合性资产包的实际收益直接挂钩,而是根据集合性资产包预期的到期收益率分离定价。参考资料百度百科-资金池
2023-08-15 17:59:151

如何在Java多线程下高效利用HttpClient连接同一服务器接口?

您好,提问者: 1、先说长连接吧,如果TCP协议的话长连接可以通过心跳包来实现。 2、推送的话,这个可以弄一个定时器,来控制线程,推送发送完毕,线程stop()。
2023-08-15 17:59:321