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

【Swin Transformer原理和源码解析】Hierarchical Vision Transformer using Shifted Windows

目录

  • 前言
  • 一、动机和改进点
  • 二、整体架构:SwinTransformer
  • 三、输入设置:PatchEmbed
  • 四、4个重复的Stage:BasicLayer
    • 4.1、SwinTransformerBlock
      • 4.1.1、创建mask
      • 4.1.2、shift特征
      • 4.1.3、为shift后的特征划分窗口
      • 4.1.4、W-MSA VS SW-MSA
    • 4.2、PatchMerging
  • 五、总结
  • 六、一些问题
    • 6.1.为什么要W-MSA和SW-MSA混合使用?
  • Reference

前言

ViT让Transformer第一次在视觉任务中暂露头角,而Swin Transfomer直接让Transformer在视觉任务中大放光彩,直接打败了当时的所有的CNN网络,一出来就直接是当时的Sota。现在的很多厉害的Transfomer变体都是Swin改进的,而且Swin Transformer这个网络在很多比赛上都会用它,分类、分割、检测基本上用它都不会差,我打的一个分类比赛就是用的它: 【记第一次kaggle比赛】PetFinder.my - Pawpularity Contest 宠物预测。当时打的时候是掉包的,两句话就创建了Model了,知其然不知所以然,这怎么行,所以今天有必要学习一下。

论文地址: https://arxiv.org/pdf/2103.14030.pdf

源码地址: https://github.com/microsoft/Swin-Transformer

这里我用的是b站大佬 霹雳吧啦Wz 改编后(相对源码作了微小改动,增加了多尺度训练)的代码:
WZMIAOMIAO

注释版本代码也同样分享到了我的Github:https://github.com/HuKai97/Classification

一、动机和改进点

VIT为了让图像可以像词向量那样输入Encoder中,而且计算量还不能太大,就直接将图像切分成一个个小的Patch,再把每个Patch当成一个词向量,把所有Patch拼接起来送入Encoder,这样当然可以降低参数量和计算量,但是当图像变大,Patch数目变多,复杂度太大。还有没有更好的输入方式了呢?

VIT主要是改变了一下图片的输入,让Transformer的Encoder可以适用于图像任务中,但是对于整个模型的架构(之前讲LN提前了),VIT是没有做什么改进的,用的还是原始的Transformer中的Encoder(整个Encoder内部各个encoder变换,但是特征的shape是不变的)。那么原始的Transformer的Encoder模块真的就适用于图像任务吗,还有没有更好的Encoder结构?

所以总结下,ViT有两个问题:

  1. 尺度问题,数据集物体大大小小,但是整个Encoder过程特征尺度是不变的,效果肯定不好;
  2. 划分patch,再把整张图片的所有patch都输入Encoder中,计算量太大;

所以,Swin Transformer针对这两点做出了改进:

  1. Encode呈现金字塔形状。每过一个Encode图片shape变小,感受野在不停的增大,解决了尺度问题。
  2. 注意力机制放在一个窗口内部。不再把整张图片的所有patch都输入Encoder,而是将各个Patch单独的输入Encoder,解决了计算量太大的问题。

二、整体架构:SwinTransformer

在这里插入图片描述

  1. Patch Embeded:对输入图片 [bs,3,H_,W_] 进行处理。第一步:先经过Patch Partition,将图像划分为一个个的patch,每个patch是4x4x3大小(4x4Conv实现)得到一个 [bs,48,H_/4, W_/4] 大小的特征图;第二步:经过一个Linear Embedding层,进行Linear线性变换,得到 [bs, H_/4 * W_/4, C=96];(但是实际代码是通过一个4x4Conv s=4实现的,其实本质还是在学习参数,一样的)
  2. 经过4个stage:每个stage是若干个Swin Transformer Block + Patch Merging。前者计算相关性,后者进行采样,实现多尺度;最终经过4个stage后,特征下采样为 [bs,H_/32 * W_/32,8C=768];
  3. 分类:经过一个avgpool+flatten+Linear进行分类预测,最终得到 [bs,num_classes];

源码:

class SwinTransformer(nn.Module):r""" Swin TransformerA PyTorch impl of : `Swin Transformer: Hierarchical Vision Transformer using Shifted Windows`  -https://arxiv.org/pdf/2103.14030"""def __init__(self, patch_size=4, in_chans=3, num_classes=1000,embed_dim=96, depths=(2, 2, 6, 2), num_heads=(3, 6, 12, 24),window_size=7, mlp_ratio=4., qkv_bias=True,drop_rate=0., attn_drop_rate=0., drop_path_rate=0.1,norm_layer=nn.LayerNorm, patch_norm=True,use_checkpoint=False, **kwargs):"""patch_size: 每个patch的大小  4x4in_chans: 输入图像的通道数 3num_classes: 分类类别数 默认1000embed_dim: 通过Linear Embedding后映射得到的通道数 也就是图片中的C 默认96depths: 每个stage中重复swin-transformer block的次数 默认(2, 2, 6, 2)num_heads: 每个stage中swin-transformer block的muti-head的个数 默认(3, 6, 12, 24)window_size: 滑动窗口的大小 默认7x7mlp_ratio: MLP中第一个全连接层Linear会将channel翻多少倍 默认4倍qkv_bias: 在muti-head self-attention中是否使用偏置 默认使用Truedrop_rate:attn_drop_rate: 在muti-head self-attention中使用的drop ratedrop_path_rate: 在每个swin-transformer block中使用的drop rate  从0慢慢增加到0.1norm_layer: LNpatch_norm:use_checkpoint: 使用可以节省内存 默认不使用"""super().__init__()self.num_classes = num_classes   # 5self.num_layers = len(depths)    # 4self.embed_dim = embed_dim       # C = 96self.patch_norm = patch_norm     # True# stage4输出特征矩阵的channelsself.num_features = int(embed_dim * 2 ** (self.num_layers - 1))   # 768 = 8Cself.mlp_ratio = mlp_ratio       # 4.0# split image into non-overlapping patchesself.patch_embed = PatchEmbed(patch_size=patch_size, in_c=in_chans, embed_dim=embed_dim,norm_layer=norm_layer if self.patch_norm else None)self.pos_drop = nn.Dropout(p=drop_rate)  # p=0# stochastic depth# [0.0, 0.00909090880304575, 0.0181818176060915, 0.027272727340459824, 0.036363635212183, 0.045454543083906174, 0.054545458406209946, 0.06363636255264282, 0.0727272778749466, 0.08181818574666977, 0.09090909361839294, 0.10000000149011612]dpr = [x.item() for x in torch.linspace(0, drop_path_rate, sum(depths))]  # stochastic depth decay rule# build layers/stages   4个self.layers = nn.ModuleList()for i_layer in range(self.num_layers):# 注意这里构建的stage和论文图中有些差异# 这里的stage不包含该stage的patch_merging层,包含的是下个stage的# stage1-3: Swin Transformer Block + Patch Merging# Stage4: Swin Transformer Blocklayers = BasicLayer(dim=int(embed_dim * 2 ** i_layer),depth=depths[i_layer],num_heads=num_heads[i_layer],window_size=window_size,mlp_ratio=self.mlp_ratio,qkv_bias=qkv_bias,drop=drop_rate,attn_drop=attn_drop_rate,drop_path=dpr[sum(depths[:i_layer]):sum(depths[:i_layer + 1])],norm_layer=norm_layer,downsample=PatchMerging if (i_layer < self.num_layers - 1) else None,use_checkpoint=use_checkpoint)self.layers.append(layers)self.norm = norm_layer(self.num_features)   # LN(768)self.avgpool = nn.AdaptiveAvgPool1d(1)self.head = nn.Linear(self.num_features, num_classes) if num_classes > 0 else nn.Identity()  # 分类头  768 -> 5self.apply(self._init_weights)   # 初始化def _init_weights(self, m):if isinstance(m, nn.Linear):nn.init.trunc_normal_(m.weight, std=.02)if isinstance(m, nn.Linear) and m.bias is not None:nn.init.constant_(m.bias, 0)elif isinstance(m, nn.LayerNorm):nn.init.constant_(m.bias, 0)nn.init.constant_(m.weight, 1.0)def forward(self, x):"""x: [bs, 3, H_, W_]"""# 1、Patch Partition + Linear Embedding# [bs, 3, H_, W_] -> [bs, H_/4 * W_/4, C] -> [bs, H_/4 * W_/4, C]   C=96x, H, W = self.patch_embed(x)  # H = H_/4  W = W_/4x = self.pos_drop(x)# 2、4 stage = 4 x (Swin Transformer Block x n + Patch Merging)# x: [bs, H_/4 * W_/4, C] -> [bs, H_/8 * W_/8, 2C] -> [bs, H_/16 * W_/16, 4C] -> [bs, H_/32 * W_/32, 8C]for layer in self.layers:x, H, W = layer(x, H, W)# 3、分类x = self.norm(x)  # LN(8C=768)x = self.avgpool(x.transpose(1, 2))  # [bs, H_/32 * W_/32, 8C] -> [bs, 8C, H_/32 * W_/32] -> [bs, 8C, 1]x = torch.flatten(x, 1)  # [bs, 8C, 1] -> [bs, 8C]x = self.head(x)  # [bs, num_classes]return x

三、输入设置:PatchEmbed

源码和论文有出入,这里直接使用一个4x4Conv s=4,实现下采样的过程。对输入图片 [bs,3,H_,W_]进行初步处理,得到一个[bs, H_/4 * W_/4, C=96]大小的特征图。源码如下:

class PatchEmbed(nn.Module):"""2D Image to Patch Embedding  [bs, 3, H_, W_] -> [B, H_/4 * W_/4, C=96]"""def __init__(self, patch_size=4, in_c=3, embed_dim=96, norm_layer=None):"""patch_size: 每个patch的大小 4x4in_c: 输入图像的channel 3embed_dim: 96 = Cnorm_layer: LN"""super().__init__()patch_size = (patch_size, patch_size)self.patch_size = patch_sizeself.in_chans = in_cself.embed_dim = embed_dimself.proj = nn.Conv2d(in_c, embed_dim, kernel_size=patch_size, stride=patch_size)  # 4x4Conv 下采样4倍 c:3->96self.norm = norm_layer(embed_dim) if norm_layer else nn.Identity()def forward(self, x):# x: [bs, 3, H_, W_]_, _, H, W = x.shape# padding# 如果输入图片的H,W不是patch_size的整数倍,需要进行paddingpad_input = (H % self.patch_size[0] != 0) or (W % self.patch_size[1] != 0)  # Falseif pad_input:# to pad the last 3 dimensions,# (W_left, W_right, H_top,H_bottom, C_front, C_back)x = F.pad(x, (0, self.patch_size[1] - W % self.patch_size[1],0, self.patch_size[0] - H % self.patch_size[0],0, 0))# 1、Patch Partition# 下采样patch_size倍  [bs, 3, H_, W_] -> [bs, C=96, H_/4, W_/4]x = self.proj(x)_, _, H, W = x.shape  # H=H_/4  W=W_/4# flatten: [B, C, H_/4, W_/4] -> [B, C, H_/4 * W_/4]# transpose: [B, C, H_/4 * W_/4] -> [B, H_/4 * W_/4, C]x = x.flatten(2).transpose(1, 2)x = self.norm(x)return x, H, W

四、4个重复的Stage:BasicLayer

每个stage都由若干个Swin Transformer Block 和 1个Patch Merging组成。

class BasicLayer(nn.Module):"""A basic Swin Transformer layer for one stage."""def __init__(self, dim, depth, num_heads, window_size,mlp_ratio=4., qkv_bias=True, drop=0., attn_drop=0.,drop_path=0., norm_layer=nn.LayerNorm, downsample=None, use_checkpoint=False):"""dim: C = 96depth: 重叠的Swin Transformer Block个数num_heads: muti-head self-transformer的头数window_size: 窗口大小7x7mlp_ratio: MLP中第一个全连接层Linear会将channel翻多少倍 默认4倍qkv_bias: 在muti-head self-attention中是否使用偏置 默认使用Truedrop: patch_embed之后一般要接一个Dropout 但是默认是 0.0attn_drop: 在muti-head self-attention中使用的drop rate  0.0drop_path: list: depth  存放这个stage中depth个transformer block的drop ratenorm_layer: LNdownsample: Pathc Merging进行下采样use_checkpoint: Whether to use checkpointing to save memory. Default: False"""super().__init__()self.dim = dimself.depth = depthself.window_size = window_sizeself.use_checkpoint = use_checkpointself.shift_size = window_size // 2  # 3# 调用depth个swin transformer blockself.blocks = nn.ModuleList([SwinTransformerBlock(dim=dim,num_heads=num_heads,window_size=window_size,shift_size=0 if (i % 2 == 0) else self.shift_size,mlp_ratio=mlp_ratio,qkv_bias=qkv_bias,drop=drop,attn_drop=attn_drop,drop_path=drop_path[i] if isinstance(drop_path, list) else drop_path,norm_layer=norm_layer)for i in range(depth)])# patch merging layerif downsample is not None:self.downsample = downsample(dim=dim, norm_layer=norm_layer)else:self.downsample = Nonedef create_mask(self, x, H, W):...def forward(self, x, H, W):# 1、depth个swin transformer block# 因为每个stage中的特征图大小是不变的,所以每个block的mask大小是相同的 所以只需要创建一次即可# [64,49,49]  64个网格  49x49每个网格中的每个位置(49个位置)对该网格中所有位置(49个位置)的注意力蒙版attn_mask = self.create_mask(x, H, W)  # [nW, Mh*Mw, Mh*Mw]for blk in self.blocks:blk.H, blk.W = H, Wif not torch.jit.is_scripting() and self.use_checkpoint:x = checkpoint.checkpoint(blk, x, attn_mask)else:# 默认执行 调用swin transformer blockx = blk(x, attn_mask)# 2、下采样 Patch Merging# 最后一个stage是None 不执行下采样if self.downsample is not None:x = self.downsample(x, H, W)H, W = (H + 1) // 2, (W + 1) // 2  # 下采样 重新计算H Wreturn x, H, W

值得注意的是创建attention mask(create_mask)的步骤,这一步是下面SW-MSA和W-MSA的关键点,下面再详细讲解。

4.1、SwinTransformerBlock

4.1.1、创建mask

在SwinTransformerBlock中,主要是负责创建attention mask,只在shift windows muti-head attention中使用,主要是告诉我们当前位置和哪些其他位置是同属于一个windows的(因为之前有一步shift window的操作),同属于一个windows的位置的mask=0,不同属于一个位置的mask=-100。

这样到后面计算出attention之后,同一个windows位置的attention + mask再softmax值是不变的,但是不同windows位置的attention + mask(-100),再softmax值就趋近于0了。

class BasicLayer(nn.Module):"""A basic Swin Transformer layer for one stage."""...def create_mask(self, x, H, W):"""calculate attention mask for SW-MSA(shift window muti-head self-attention)以第一个stage为例x: [bs, 56x56, 96]H: 56W: 56返回attn_mask: [64,49,49] 64个网格  49x49每个网格中的每个位置(49个位置)对该网格中所有位置(49个位置)的注意力蒙版记录每个位置需要在哪些位置计算attention"""# 保证Hp和Wp是window_size的整数倍Hp = int(np.ceil(H / self.window_size)) * self.window_size   # 56Wp = int(np.ceil(W / self.window_size)) * self.window_size   # 56# 拥有和feature map一样的通道排列顺序,方便后续window_partitionimg_mask = torch.zeros((1, Hp, Wp, 1), device=x.device)  # [1, 56, 56, 1]# 对h和w先进行切片 划分为3个区域  0=(0,-7) (-7,-3) (-3,-1)h_slices = (slice(0, -self.window_size),slice(-self.window_size, -self.shift_size),slice(-self.shift_size, None))w_slices = (slice(0, -self.window_size),slice(-self.window_size, -self.shift_size),slice(-self.shift_size, None))# 对3x3=9个区域进行划分 编号 0-8cnt = 0for h in h_slices:for w in w_slices:img_mask[:, h, w, :] = cntcnt += 1# 将img_mask划分为一个个的窗口   64个7x7大小的窗口# [1,56,56,1] -> [64,7,7,1] -> [64,7,7]mask_windows = window_partition(img_mask, self.window_size)  # [nW, Mh, Mw, 1]mask_windows = mask_windows.view(-1, self.window_size * self.window_size)  # [nW, Mh*Mw]# [nW, 1, Mh*Mw] - [nW, Mh*Mw, 1] -> [nW, Mh*Mw, Mh*Mw]=[64,49,49]# 数字相同的位置代表是同一个区域  我们就是要计算同一个区域的attention  相减之后为0的区域就是我们需要计算attention的地方# 64个网格  49x49每个网格中的每个位置(49个位置)对该网格中所有位置(49个位置)的注意力蒙版attn_mask = mask_windows.unsqueeze(1) - mask_windows.unsqueeze(2)# 对于非零区域填上-100  这些区域是不需要计算attention的  所以在之后的softmax后就会为0attn_mask = attn_mask.masked_fill(attn_mask != 0, float(-100.0)).masked_fill(attn_mask == 0, float(0.0))return attn_mask

这里涉及到划分窗口的操作:

def window_partition(x, window_size: int):"""将feature map按照window_size划分成一个个没有重叠的windowArgs:x: (B, H, W, C)window_size (int): window size(M)Returns:windows: (num_windows*B, window_size, window_size, C)"""B, H, W, C = x.shape   # 1  56  56  1x = x.view(B, H // window_size, window_size, W // window_size, window_size, C)  # [1,56,56,1] -> [1,8,7,8,7,1]# permute: [B, H//Mh, Mh, W//Mw, Mw, C] -> [B, H//Mh, W//Mh, Mw, Mw, C]# view: [B, H//Mh, W//Mw, Mh, Mw, C] -> [B*num_windows, Mh, Mw, C]windows = x.permute(0, 1, 3, 2, 4, 5).contiguous().view(-1, window_size, window_size, C)  # [1,8,7,8,7,1] -> [1,8,8,7,7,1] -> [64,7,7,1]return windows

4.1.2、shift特征

class SwinTransformerBlock(nn.Module):def forward(self, x, attn_mask):# cyclic shiftif self.shift_size > 0:  # SW-MSA# 对x特征进行移动  0-shift_size列移动到最右侧   0-shift_size行移动到最下面# -的就是从上往下 从左往右  +的就是从下往上 从右往左了# 对应的attn_mask就是传入的attn_maskshifted_x = torch.roll(x, shifts=(-self.shift_size, -self.shift_size), dims=(1, 2))else:  # W-MSA  不需要移动shifted_x = xattn_mask = None

最后计算完SW-MSA后需要将shift过的特征进行还原:

		# 之前shift过windows 再还原  从下往上 从右往左 +if self.shift_size > 0:x = torch.roll(shifted_x, shifts=(self.shift_size, self.shift_size), dims=(1, 2))else:x = shifted_x

4.1.3、为shift后的特征划分窗口

		# 为shifted_x划分窗口  与attn_mask划分的窗口对应  [bs,56,56,96] -> [512,7,7,96]  8x8xbs个7x7的窗口 x 96个通道x_windows = window_partition(shifted_x, self.window_size)  # [nW*B, Mh, Mw, C]x_windows = x_windows.view(-1, self.window_size * self.window_size, C)  # [nW*B, Mh*Mw, C]=[512,49,96]

这里的划分窗口和上面mask的划分窗口一样,就不赘述。

4.1.4、W-MSA VS SW-MSA

class WindowAttention(nn.Module):r"""W-MSA/SW-MSAWindow based multi-head self attention (W-MSA) module with relative position bias.It supports both of shifted and non-shifted window."""def __init__(self, dim, window_size, num_heads, qkv_bias=True, attn_drop=0., proj_drop=0.):"""dim: C = 96window_size: 窗口大小7x7num_heads: muti-head self-transformer的头数qkv_bias: 在muti-head self-attention中是否使用偏置 默认使用Trueproj_drop: 在muti-head self-attention中使用的drop rate  0.0"""super().__init__()self.dim = dimself.window_size = window_size  # [7, 7]self.num_heads = num_headshead_dim = dim // num_headsself.scale = head_dim ** -0.5# 初始化relative_position_bias_tableself.relative_position_bias_table = nn.Parameter(torch.zeros((2 * window_size[0] - 1) * (2 * window_size[1] - 1), num_heads))  # [2*7-1 * 2*7-1, num_heads]# 1、生成绝对位置坐标索引coords_h = torch.arange(self.window_size[0])  # tensor([0, 1, 2, 3, 4, 5, 6])coords_w = torch.arange(self.window_size[1])  # tensor([0, 1, 2, 3, 4, 5, 6])# coords = torch.stack(torch.meshgrid([coords_h, coords_w], indexing="ij"))# [2, 7, 7]  7x7窗口的xy坐标coords = torch.stack(torch.meshgrid([coords_h, coords_w]))# [2, 7, 7] -> [2, 49]  第一个是所有位置的行坐标  第二个是所有位置的列坐标coords_flatten = torch.flatten(coords, 1)# 2、生成相对位置坐标索引# [2, Mh*Mw, 1] - [2, 1, Mh*Mw] -> [2, Mh*Mw, Mh*Mw]relative_coords = coords_flatten[:, :, None] - coords_flatten[:, None, :]# [2, Mh*Mw, Mh*Mw] -> [Mh*Mw, Mh*Mw, 2]relative_coords = relative_coords.permute(1, 2, 0).contiguous()# 3、将二元相对位置坐标索引转变成一元相对位置坐标索引# 原始相对位置行/列标 = -6~6 + (window_size-1) -> 0~12# 行标 + (2 * window_size - 1) -> 13~25# 这时直接把行标 + 列标 直接把2D索引转换为1D索引 就不会出现(-1,0) (0,-1) 相加都是-1 无法区分的情况了relative_coords[:, :, 0] += self.window_size[0] - 1      # 行标 + (window_size-1)relative_coords[:, :, 1] += self.window_size[1] - 1      # 列标 + (window_size-1)relative_coords[:, :, 0] *= 2 * self.window_size[1] - 1  # 行标 + (2 * window_size - 1)# [Mh*Mw, Mh*Mw, 2] -> [Mh*Mw, Mh*Mw]   行标 + 列标   直接转换为1元索引  与relative_position_bias_table一一对应relative_position_index = relative_coords.sum(-1)# 把relative_position_index放到缓存中  因为relative_position_index是固定值  不会变的  不需要修改# 我们网络训练的其实是relative_position_bias_table中的参数  我们每次循环都从relative_position_bias_table中拿对应idx的值即可self.register_buffer("relative_position_index", relative_position_index)self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias)   # 生成qkv  3倍dim = q+k+vself.attn_drop = nn.Dropout(attn_drop)             # p=0.0self.proj = nn.Linear(dim, dim)                    # linearself.proj_drop = nn.Dropout(proj_drop)             # linear dropout p=0nn.init.trunc_normal_(self.relative_position_bias_table, std=.02)  # 初始化relative_position_bias_table参数self.softmax = nn.Softmax(dim=-1)   # softmax层def forward(self, x, mask: Optional[torch.Tensor] = None):"""x: [bsx8x8, 49, 96]  bsx  8x8个7x7大小的window size  x96channelmask: W-MSA和SW-MSA交替出现 None/[8x8,49,49]  记录8x8个7x7大小的window size  中 每个位置需要和哪些位置计算attention=0的位置表示是需要计算attention的Attention(Q,K,V) = SoftMax(Q*K的转置/scale + B)*V"""B_, N, C = x.shape  # batch_size*num_windows=bsx8x8, Mh*Mw=7x7, total_embed_dim=96# 生成qkv 和vit中的一样  和原始的transformer有区别  但是本质都是相同的 都是通过学习参数把输入的x映射到3个空间上# qkv(): -> [batch_size*num_windows, Mh*Mw, 3 * total_embed_dim]# reshape: -> [batch_size*num_windows, Mh*Mw, 3, num_heads, embed_dim_per_head]# permute: -> [3, batch_size*num_windows, num_heads, Mh*Mw, embed_dim_per_head] = [3,bsx8x8,3,7x7,32]qkv = self.qkv(x).reshape(B_, N, 3, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4)# 分别获得q k v# [batch_size*num_windows, num_heads, Mh*Mw, embed_dim_per_head] = [bsx8x8,3,7x7,32]q, k, v = qkv.unbind(0)  # make torchscript happy (cannot use tensor as tuple)# 这里是先缩放再乘以k的转置  其实是一样的# transpose: -> [batch_size*num_windows, num_heads, embed_dim_per_head, Mh*Mw]# @: multiply -> [batch_size*num_windows, num_heads, Mh*Mw, Mh*Mw]q = q * self.scaleattn = (q @ k.transpose(-2, -1))# relative_position_bias_table.view: [Mh*Mw*Mh*Mw,nH] -> [Mh*Mw,Mh*Mw,nH]# 生成相对位置偏置:生成相对位置index + 去relative_position_bias_table中去取相应的可学习的bias参数relative_position_bias = self.relative_position_bias_table[self.relative_position_index.view(-1)].view(self.window_size[0] * self.window_size[1], self.window_size[0] * self.window_size[1], -1)relative_position_bias = relative_position_bias.permute(2, 0, 1).contiguous()  # [nH, Mh*Mw, Mh*Mw]# att + Battn = attn + relative_position_bias.unsqueeze(0)# softmax处理if mask is not None:# SW-MSA# mask: [nW, Mh*Mw, Mh*Mw]=[8x8,49,49]  记录8x8个7x7大小的window中每个位置需要和哪些位置计算attention#       =0的位置表示是需要计算attention的   不相同的区域位置是接近-100表示的nW = mask.shape[0]  # num_windows# attn.view: [batch_size, num_windows, num_heads, Mh*Mw, Mh*Mw]# mask.unsqueeze: [1, nW, 1, Mh*Mw, Mh*Mw]# 相同区域位置attn+0没有影响   不同区域位置attn+(-100)  再进行softmax   这个位置的attn就->0attn = attn.view(B_ // nW, nW, self.num_heads, N, N) + mask.unsqueeze(1).unsqueeze(0)attn = attn.view(-1, self.num_heads, N, N)attn = self.softmax(attn)else:# W-MSAattn = self.softmax(attn)attn = self.attn_drop(attn)# attn * v# @: multiply -> [batch_size*num_windows, num_heads, Mh*Mw, embed_dim_per_head]# transpose: -> [batch_size*num_windows, Mh*Mw, num_heads, embed_dim_per_head]# reshape: -> [batch_size*num_windows, Mh*Mw, total_embed_dim]x = (attn @ v).transpose(1, 2).reshape(B_, N, C)x = self.proj(x)x = self.proj_drop(x)return x

这个步骤和ViT中的其实差不多,只不过ViT是计算每个位置和所有位置的attention,而WindowAttention是按照窗口来计算每个位置和当前windows内所有位置的attention,计算量更小。

4.2、PatchMerging

这部分主要功能就是进行下采样,操作:每个一个元素取一个像素,有点类似YOLOv5中的Focus层。最后将4个特征拼接起来,再接一个Linear缩放通道。

在这里插入图片描述

class PatchMerging(nn.Module):r""" Patch Merging Layer. 下采样输入[bs, H_/4 * W/4, C=96]  ->  输出[bs, H_/8 * W/8, 2C] """def __init__(self, dim, norm_layer=nn.LayerNorm):super().__init__()self.dim = dim  # 输入特征的channel = 96/192/384self.reduction = nn.Linear(4 * dim, 2 * dim, bias=False)self.norm = norm_layer(4 * dim)  # LNdef forward(self, x, H, W):"""x: [bs, H_/4 * W/4, C=96]"""B, L, C = x.shape   # B=8 C=96 L= H_/4*W/4assert L == H * W, "input feature has wrong size"x = x.view(B, H, W, C)  # [bs, H_/4 * W/4, C=96] -> [bs, H_/4, W_/4, C=96]# padding# 如果输入feature map的H,W不是2的整数倍,需要进行paddingpad_input = (H % 2 == 1) or (W % 2 == 1)  # Falseif pad_input:  # 跳过# to pad the last 3 dimensions, starting from the last dimension and moving forward.# (C_front, C_back, W_left, W_right, H_top, H_bottom)# 注意这里的Tensor通道是[B, H, W, C],所以会和官方文档有些不同x = F.pad(x, (0, 0, 0, W % 2, 0, H % 2))# 每隔一个像素取一个元素 有点像yolov5的focus层 最后一个特征 -> 4个下采样的特征# [bs, H_/4, W_/4, C=96]  ->  4 x [bs, H_/8, W_/8, C=96]x0 = x[:, 0::2, 0::2, :]  x1 = x[:, 1::2, 0::2, :] x2 = x[:, 0::2, 1::2, :]  x3 = x[:, 1::2, 1::2, :]  # 4 x [bs, H_/8, W_/8, 96] -> [bs, H_/8, W_/8, 96*4] -> [bs, H_/8 * W_/8, 4*C]x = torch.cat([x0, x1, x2, x3], -1)  x = x.view(B, -1, 4 * C)  x = self.norm(x)  # LN# Linear 将通道从4C -> 2C  [bs, H_/8 * W_/8, C*4] -> [bs, H_/8 * W_/8, 2*C]x = self.reduction(x)  return x

五、总结

为了解决ViT存在的问题:

  • 尺度问题:数据集物体大大小小,但是整个Encoder过程特征尺度是不变的,效果肯定不好;
  • 计算量大:划分patch,再把整张图片的所有patch都输入Encoder中,计算量太大;

改进点:

  • Encode呈现金字塔形状。每过一个Stage对特征进行一次下采样,感受野在不停的增大,解决了尺度问题。所以Swin-Transformer不进适合分类任务,在下游检测、分割任务可以充分利用这种多尺度信息,检测效果很好;
  • 注意力机制放在一个窗口内部。不再把整张图片的所有patch都输入Encoder,而是将各个Patch单独的输入Encoder,解决了计算量太大的问题。

关于第二点改进点还有很多的细节:

  • 提出Window Muti-head Self-Attention(W-MSA):把输入特征划分为一个个的windows窗口,只计算每个位置和当前windows窗口的所有位置的相关性Attention,其他窗口的不关心,这样就大大减少了计算量了;
  • W-MSA有一个问题,不同窗口完全不相关了,那不同窗口的位置之间不就没法交互了,所以作者又提出了Shift-Window Muti-head Self-Attention(SW-MSA)。
  • 特征图Shift操作其实很简单,就是特征某些行列平移,但是Shift了之后就会产生更多的窗口,计算量还是增加了,作者为了解决这个问题,引入了Mask,仍然是使用原先的窗口划分方式,但是用mask记录每个位置属于哪个窗口,相同窗口的位置mask=0,不同窗口的位置mask=-100,那么最后再用计算好的attention + mask,再softmax。于是,相同窗口的attention不变,不同窗口的attention=0,完美解决所有问题;
  • 作者还在WindowAttention中引入了relative_position_bias,使用Attention(Q,K,V) = SoftMax(Q*K的转置/scale + B)*V计算公式;

六、一些问题

6.1.为什么要W-MSA和SW-MSA混合使用?

我的理解:单独的W-MSA和单独的SW-MSA其实都是固定的位置窗口(SW-MSA是对固定的区域进行shift,但是如果单独只使用SW-MSA,那么不还是固定的窗口),这样使用还是会有不同窗口无法信息交互的问题,但是混合起来使用,才能真正的起到交互作用。

Reference

b站: Swin Transformer论文精读【论文精读】

b站: 12.1 Swin-Transformer网络结构详解

b站: 12.2 使用Pytorch搭建Swin-Transformer网络

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3822639.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

sqlite3数据库的使用及其对应的API函数接口的使用

一、sqlite3数据库的使用 在linux中&#xff0c;输入sqlite3 就能进入sqlite3命令行&#xff0c;然后通过SQL语句执行命令。 可以使用 .quit 退出 sqlite 提示符。 1.新建表格 命令&#xff1a;CREATE TABLE 表名 ( 字段名1 数据类型 “约…...

任务01-04

一、相对定位 二、绝对定位 1. 当div撑开图片后有空隙的时候&#xff0c;使用vertical-align&#xff1a;middle解决。 2.一般一个东西盖在别的东西上面的时候用定位。 三、固定定位 1. 层级&#xff1a;同时定位在一个位置上的元素&#xff0c;谁在文档后面的谁的层级高&…...

wincc显示系统时间_Wincc的系统时间该如何用变量显示?

如果不用wincc的时间控件&#xff0c;在wincc中如何生成一个时间变量&#xff0c;该变量可以显示系统时间(日期、小时、分、秒)&#xff1f;问题补充&#xff1a;我现在是通过IndustrialData Bridge将Winncc数据保存到SQL数据库中&#xff0c;那么对应每一组变量应该时间标签。…...

centos 安装phantomjs

环境安装:yum install bzip2 fontconfig freetype fontconfig mkfontscale -ycd /opt/pgtar -xjvf phantomjs-2.1.1-linux-x86_64.tar.bz2创建软连接ln -s /opt/pg/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/bin/phantomjs查看结果:配置权限:chmod 755 /opt/pg/pha…...

应广单片机 c语言,应广单片机 MINI-C编程指南.pdf

PADAUK) MINI-C应广单片机 ( 编程指南初级篇V1.11 MINI- C 语言21.1简介21.2 MINI-C 的程序结构21.3 预处理31.4 标示符31.5 数据类型31.6 常量41.7 变量41.8 表达式41.9 特殊的符号或者符号串51.10 指针 102 程序控制语句 102.1 赋值语句 102.2 if 语句 102.3 switch 语句 122…...

Mac开发工具WebStorm

webstorm mac中文版被称为最好用的Web前端开发神器。WebStorm 新版对JavaScript&#xff0c;TypeScript和CSS支持更好&#xff0c;改进了Vue.js的体验&#xff0c;并为Jest集成增加了新功能。 Mac开发工具WebStorm win软件&#xff0c;请点我...

jeecgboot接口限制每ip每分钟访问次数

代码借鉴的别人的&#xff0c;自己做过部分修改 1. 新建文件夹并新建文件 \jeecg-boot-base\jeecg-boot-base-core\src\main\java\org\jeecg\common\accesslimit\ RequestLimit.java package org.jeecg.common.accesslimit;import org.springframework.core.Ordered; import…...

《Python深度学习》第五章-3(预训练)读书笔记

5.3 使用预训练的卷积神经网络 预训练网络&#xff08;pretrained network&#xff09;&#xff1a; 是一个之前已在大型数据集&#xff08;通常是大规模图像分类任务&#xff09;上训练好、保存好的网络\color{red}训练好、保存好的网络训练好、保存好的网络。预训练网络学…...

奋斗了无数个996,我却连首付都凑不齐

近日由于阿里巴巴创始人马云对于“996”&#xff08;朝九晚九一周工作六天的工作制&#xff09;发表的言论在网上掀起轩然大波&#xff0c;关于996的讨论几乎席卷全网&#xff0c;微博中也已开展【你认可996工作制吗】的投票活动&#xff0c;正在一二线城市打拼的职场人士忍不住…...

Module build failed: Error: Cannot find module ‘模块名‘

它的意思时找不到这个模块&#xff0c;使用npm安装这个模块就行 npm install 模块名然后发现就可以了。...

【Spring Cloud】spring cloud 调用feign请求超时 feign.RetryableException: Read timed out executing POST

本文目录 一、问题描述 二、问题原因 三、解决方案 一、问题描述 Spring Cloud项目&#xff0c;两个微服务之间调用报错超时&#xff0c;控制台抛出异常&#xff0c;截取部分报错&#xff1a; feign.RetryableException: Read timed out executing POST http://back-contr…...

社群裂变引流+亲情充值+会员自动裂变,商家5天收款279万!

各大商家其实在春节期间&#xff0c;营销意识很薄弱&#xff0c;认为很多人都忙着走亲访友&#xff0c;拜年&#xff0c;很少会出来逛街&#xff0c;其实呢&#xff1f;并不是这样&#xff01; 从市场营销的角度来分析&#xff0c;交易量购买人数购买意愿购买能力 所以春节是…...

python实现一个web服务器

一&#xff0c;使用python开启一个web服务器 自带的simple_server模块开启一个服务器&#xff1b; from wsgiref.simple_server import make_server #导入simple_server模块#定义一个application&#xff0c;遵循wsgi协议&#xff1b; def app(env, start_response): #服务器…...

PMS150C应广单片机开发案例

PMS150C应广单片机开发案例 应广单片机价格美丽&#xff0c;性价比高&#xff0c;mini-c好用,适用于消费电子开发。但是案例demo太少了&#xff0c;为了方便大家能够快速入门。这里贴出了一份经典PMS150C的点灯程序代码。不是Hello world&#xff01;那种&#xff0c;是偏向于实…...

web前端期末大作业——基于HTML+CSS+JavaScript蓝色的远程监控设备系统后台管理界面模板

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…...

智能语音识别系统

广告关闭 腾讯云双11爆品提前享&#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高满返5000元&#xff01; 使用腾讯云语音识别完成电话录音质检 效率提升 倍 成本降低 过去 个人的工作量现在只需 个人工 台机器 同…...

java.lang.NoSuchMethodError: org.xx.AbstractHandlerMapping.obtainApplicationContext()

一、概述 中午不睡觉&#xff0c;来记录点东西。 某历史遗留项目&#xff0c;因为这几天的log4j漏洞问题要升级&#xff0c;但是由于种种原因&#xff0c;当时上线部署的包跟现在的代码已经对应不上了&#xff0c;现在已掌握的代码已经更新了很多内容了&#xff0c;当时部署在…...

CentOS7安装MySQL5.7.37

CentOS7安装MySQL5.3.37下载MySQL安装压缩包MySQL安装阶段下载MySQL安装压缩包 首先需要准备一个MySQL安装文件的压缩包“mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar”&#xff0c;进入官网点击download 点击MySQL社区版本下载&#xff08;英文&#xff09; 点击download arch…...

利用TCP网络编程实现客户端和服务端简单交互

概述 在TCP通信协议下&#xff0c;能实现两台计算机之间的数据交互&#xff0c;并且它们要严格区分客户端&#xff08;Client&#xff09;与服务端&#xff08;Server&#xff09; java.net.Socket 类表示客户端java.net.ServerSocket 类表示服务端 步骤 客户端和服务端通信…...

应广单片机可以用c语言,应广单片机(一)

/****************************************************************函数名称&#xff1a;void Set_User_T16(void)函数功能&#xff1a;定时器计数定时256us函数参数&#xff1a;无函数返回值&#xff1a;无函数说明&#xff1a;******************************************…...

常见WEB服务器种类

IIS&#xff08;Internet信息服务&#xff09;英文InternetInformationServer的缩写。它是微软公司主推的服务器。IIS的特点具有&#xff1a;安全性&#xff0c;强大&#xff0c;灵活。 2.Tomcat Tomcat是Apache软件基金会&#xff08;ApacheSoftwareFoundation&#xff09;的…...

WEB服务器与应用服务器的区别

一&#xff0c;简述 WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器,首先你要理解什么是WEB?WEB你可以简单理解为你所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就叫WEB服务器,如IIS、apache。 WEB服务器与客户端打交道&#xff0c;它要处理的…...

应广单片机adc_应广单片机adc和pwm例程

应广单片机Otp单核系列主要有以下几个系列,15x系列为纯iO,13x系列为带12bit的adc,17x系列为带8bit的adc,现在我用pms132B写个adc/pwm例程,方便大家快速上手.不多说,上代码.#include "extern.h"/**********adc*****************/Word usAdcSum;Word usAdcSumBak;BI…...

应广单片机开发案例

特性 l 全自我知识产权 8 位指令集 l 8 层 10bit 硬件堆栈 l 1Kx14b 程序 FLASH 存储空间&#xff08;16bytes/page&#xff09; l 256x8b 数据 EEPROM&#xff08;16bytes/page&#xff09; l 数据 EEPROM 可在应用编程 l 64x8b SRAM l 1 x 带 8 位预分频的定时器 0 l…...

C语言练习 day1

注&#xff1a;C语言练习100天这个专栏 摘抄自菜鸟教程。我写在这里印象更深&#xff0c;练习自用的。有些地方会加入一些自己的思考。 题目&#xff1a;有1、2、3、4个数字&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;都是多少&#xff1f; 自己先想想~…...

[深度长文] 996的经济学

全文约13000字。文章较长&#xff0c;建议先收藏再阅读。目录一、996的概念定义二、李嘉图的比较优势原理三、支付加班费的996是个伪命题四、996的合理化五、收入的三个来源六、一切租皆来源于权力七、快速致富的唯一途径八、一个三层架构的简明政治经济学框架九、三层架构的两…...

倒计时 css,css实现倒计时效果

一、实现效果截图(学习视频推荐&#xff1a;css视频教程)二、实现原理看到上图效果应该很容易猜到原理&#xff0c;纯CSS的话使用轮播。通过改变图片的margin-top&#xff0c;再加上亿点点动画&#xff0c;亿点点数字图片&#xff0c;就实现了。使用PS建数字图片&#xff1a;然…...

应广单片机PFC154

前面我们讲了PFC151&#xff0c;今天我们来讲一下PFC系列另外一个型号&#xff0c;PFC154。我们还是通过具体数据来直观的了解这款芯片。 系统特性 1.高抗干扰&#xff08;High EFT&#xff09;系列 2.特别适用于AC电源供电的、阻容降压电路的、需要较强抗干扰能力的&#x…...

Java开发童年小游戏

黄金矿工、贪吃蛇、飞机大战……这些名字你是否还记得&#xff1f; 这些陪伴我们成长的小游戏现在已然被手游取代&#xff0c;但它们带给我们的美好记忆却从不曾消失。 今天带来两小时就能自己动手开发这些小游戏的教程&#xff0c;希望大家能在这个纷扰的时代&#xff0c;通…...

ZooKeeper的监听原理

Main线程创建listener线程和connet线程 &#xff0c;监听事件发给connet线程&#xff0c;数据有变化Zookeeper通知到listener线程...

作图从此不求人,代谢组学宝藏作图能力提升班你来不来?

俗话说&#xff0c;一图胜千言。 在运用代谢组学研究课题的过程中&#xff0c;数据的分析并将其可视化表达是需要掌握的重点技能。 质量上乘的SCI的图片表格是论文的加分项&#xff0c;能极大提高论文的质量。很多同学文章写得多&#xff0c;勤勤恳恳投杂志、SCI&#xff0c;…...

【Java面向对象】04 对象构造

对象构造 1.默认值 数值0布尔false引用类型null 2.无参构造 如果类中没有提供任何构造函数&#xff0c;那么会默认添加一个无参构造如果提供了构造器&#xff0c;那么不再提供无参构造 3.显示域初始化 private String name "";// 属于类&#xff0c;所有构造出…...

golang(gin框架),基于RESTFUL的跨语言远程通信尝试

golang(gin框架),基于RESTFUL的跨语言远程通信尝试 背景:在今年的项目实训过程中,遇到了这样的问题: 企业老师讲课实用的技术栈是Java springboot。 实训实际给我们讲课以外的开发时间非常短暂,为了方便协作、提高效率,我们想要将系统模块拆分成几个粒度比较大的分布式服…...

为什么要分区有必要分区吗

非常有必要。 这样可以避免经常读写硬盘的某个部位&#xff0c;分区后可以更加充分的利用硬盘。 你可以这样理解&#xff0c;你一个水杯&#xff0c;是300毫升的容量。而你每次只装100毫升水&#xff0c;这样杯子的上面200毫升的地方&#xff0c;永远也用不到。当然咱们存文件也…...

SWUST OJ 189: 素数判定

题目描述 给你两个数a、b,现在的问题是要判断这两个数组成的区间内共有多少个素数 输入 多组测试数据。 每个测试数据输入两个数a、b。(2<a,b<1000) 输出 输出该区间内素数的个数。 样例输入 2 4 4 6 样例输出 2 1 参考程序 #include<stdio.h> int main…...

B树的C语言实现

前言 今天我们再来学习另外一种高级数据结构B树&#xff0c;我们知道树的查询时间复杂度和其树的高度有直接关系&#xff0c;当我们向红黑树里面插入大量的数据时&#xff0c;有两个问题&#xff1a; &#xff08;1&#xff09;首先&#xff0c;内存是有限的不可能无止境的一直…...

WebDAV之葫芦儿·派盘+书藏家

书藏家 支持webdav方式连接葫芦儿派盘。 是一款书籍收藏的软件,对于喜欢阅读书籍的用户来说非常友好,记录你所阅读的书籍内容,对你所阅读的书籍内容进行全方位的管理,并且支持多种录入的方式,不管是实体书籍还是网络书籍都能够进行更为有效的管理;内置WebDAV 模块,更加…...

图像 异常检测算法_检测图像异常的算法

图像 异常检测算法Modern applications are generating enormous amounts of image data. And in the last years, researches began to apply some data mining algorithms to extract useful information from these images to apply smart decisions in business, to detect…...

Adobe Acrobat Pro设置高亮快捷键

编辑->首选项->使用单键加速访问工具 切换输入法到英文输入状态&#xff0c;按下u&#xff0c; 就可以用鼠标直接高亮文字了。...

matlab vector函数参数,将vector作为参数传递

这两天在用c写数值计算&#xff0c;手残选了个蛋疼的Boost库。boost的好处在于通用性&#xff0c;缺点……原型实在是太长了&#xff0c;make一下只要出一个error就被刷屏了(偶17寸屏幕18号字&#xff0c;谁让我是瞎子)。首先简单介绍一下boost::numeric::ublas。vector对象有v…...

向量与列表(一种线性的数据结构)

目录&#xff1a;1. 向量与列表2. 时间复杂度的区别3. 位置&#xff08;Position&#xff09;4. 基于可扩充数组实现的向量1. 向量与列表 向量&#xff08;Vector&#xff09;与列表&#xff08;List&#xff09;是两种典型的序列&#xff08;Sequence&#xff09;。所谓序列&…...

带外通道技术(OOB)总结

在渗透中&#xff0c;经常碰到关闭回显的漏洞&#xff0c;常见的XXE盲注&#xff0c;SQL盲注&#xff0c;反序列号无回显&#xff0c;这个时候常用到OOB带外数据通道&#xff0c;带外通道技术&#xff08;OOB&#xff09;让攻击者能够通过另一种方式来确认和利用所谓的盲目&…...

银河麒麟桌面操作系统kysec介绍

kysec即安全中心&#xff0c;该软件系统已默认安装 安全中心位置&#xff1a;开始菜单 - - 安全中心 Kysec提供了增强身份认证、系统访问控制、数据安全保护&#xff0c;提高系统运行环境的安全性与稳定性。可以有效地保护系统&#xff0c;提供了防篡改、软件源安全认证、内核…...

NIOS_Altera EPCS下载 注意事项20210815

第一&#xff1a;QSYS 如下图 第二&#xff0c;在Verilog 工程文件里面添加 qsys 生产的文件**.qip格式文件** 第三编译下载verilog硬件.sof文件 第四。NIOS文件注意 上图注意事项&#xff0c;allow_code_at_reset 这个项目的意思是允许代码存放在复位向量处。QSYS里面CPU…...

django中 celery 如何优雅重启

因为项目中有延时任务&#xff0c;如果使用kill -9 直接KILL进程&#xff0c;会导致现有任务无法在下次启动时被加载&#xff0c;这里使用官方推荐的信号机制&#xff0c;这时celery的主线程会将待完成的任务记录在 broker中&#xff08;博主用的是redis&#xff0c;而且没有改…...

应广单片机定时器TIME16配置

应广单片机定时器TIME16配置&#xff0c;关于time16的配置 $T16M sysCLK,/64,BIT15; $T16M sysCLK,/64,BIT15; 选择(SYSCLK/64)当Timer16时钟源&#xff0c;每2^16个时钟周期产生一次INTRQ.21系统时钟 System Clock HRC /28 MHz sysclk/648 MHz/64125 kHz&#xff0c;约每52…...

javaWeb课程设网上报名系统

1 概述 1.1 项目背景 随着计算机技术的迅猛发展&#xff0c;学校教学和管理的信息化发展也有长足的进步&#xff0c;这就 要求各个环节都均衡发展&#xff0c;从软硬件两方面把学校建设成一流的信息管理、教育教学的平台该系统本着减轻教师工作负担、提高工作效率&#xff0c…...

Javacv录制视频

基于maven的Javacv录制视频 由于opencv对Java的跨平台兼容性不友好&#xff0c;javacv的作者为了方便跨平台编写opencv相关的代码&#xff0c;就有了集成opencv的javacv产生。 录制视频 VideoCapture capture new VideoCapture(0); //参数0是默认的摄像头 VideoWriter vw …...

java读取摄像头视屏流,Java 摄像头视频获取

Rate this post背景介绍作为一门强大的语言&#xff0c;Java所展现给编程人员的不仅仅是来自于发上的便利&#xff0c;更是这题开发过程中的的可扩展性。通过添加jar包即可扩展和使用开源的架构和方法。这是Java给程序员带来的最直观的体验。但是请不要忘记Java也是多平台支持的…...

thermo fisher赛默飞世尔酶标仪维修Labserv K3 MK3

Labserv K3/MK3酶标仪特点 灵活性&#xff1a; 新一代K3型全自动中文酶标仪是一种光度计式酶标板读数仪&#xff0c;对于用酶标板的酶联免疫测定&#xff08;包括常规应用及科研&#xff09;&#xff0c;它都可提供很好的灵活性。 扩展记忆&#xff1a; K3型酶标仪自身携带的…...

常用空间函数和坐标转化查询思路

查询的bo无需对应标明&#xff0c;也可 按瓦片查的tile才需要瓦片裁剪&#xff0c;其他查直接返回geojson即可 瓦片-关系固定-四点框---查询ST_MakeEnvelope将四点框转为gemo st_envelope将geom转四点框--定位--瓦片 st_simplify 抽希可能会由于本身数据就少&#xff0c;再抽取…...

8-4 Prometheus服务发现

文章目录前言静态配置弊端服务发现优点原理服务发现类型基于K8S的服务发现基于File的服务发现基于Consul的服务发现基于DNS的服务发现前言 服务发现&#xff08;Service Discovery&#xff09;经常用在微服务治理以及配置管理上&#xff0c;在负载且动态变化的环境下如果没有服…...

java开发工程师简历模板,2022最新

模块科技招聘官莅临千锋教育 招聘Java开发工程师招聘官谢经理莅临千锋教育成都分校招聘10位Java开发工程师,谢经理在面试前的宣讲会上,为学员详细介绍了模块科技的发展现状和岗位需求,让学员对公司和岗位有了充分的认识。在随后的面试环节,学员们基于对企业的了解和自身职业发展…...

​【交通标志识别】基于BP神经网络实现交通标志识别matlab代码

1 简介 近年来&#xff0c;交通标志识别在车辆视觉导航系统中是一个热门研究课题。为了安全驾驶和高效运输&#xff0c;交通部门在公路道路上设置了各类重要的交通标志&#xff0c;以提醒司机和行人有关道路交通信息&#xff0c;如指示标志、警告标志、禁止标志等。交通标志具…...

简单心形代码

心形图案&#xff0c;可以说是表白神器&#xff0c;怎么写出一个让你的另一半为之心动的心形❤呢&#xff1f; 以下便是部分代码&#xff0c;望亲们如愿以偿&#xff01;&#xff01;&#xff01; Scanner xin new Scanner(System.in);System.out.println("请输入心形的上…...

波浪排序

任务概述 一串n个不等式符号&#xff1b;即&#xff1a;>或< n1个不同的整数。 你的目标是将所有的n1个整数放在由给定的n个不等式符号所产生的可用位置上&#xff0c;以便整个表达式为真。 为了清楚起见&#xff0c;如果你有n个不等式符号&#xff0c;那么在字符串的 &q…...

基于粒子群算法优化BP神经网络的PID控制算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑…...

大数据分析有哪些挖掘方式

大数据分析发掘&#xff0c;从可视化分析、数据发掘算法、猜测性分析、语义引擎、数据质量管理等方面&#xff0c;对杂乱无章的数据&#xff0c;进行萃取、提炼和分析的进程。那么&#xff0c;大数据分析发掘有哪些方法呢?今天就一同来了解下吧! 1、可视化分析 可视化分析&…...

Sql去重查询数据

最近在工作过程中&#xff0c;面试过程中&#xff0c; 部分求职者或者同事&#xff0c;对sql怎么去重查询&#xff0c;不是太熟练 今天下午忙里偷闲&#xff0c; 整理了一下 其实sql基本的查询 &#xff0c;还是蛮有意思&#xff0c; 下面是我大致整理的几种去重查询 1.…...

APUE学习笔记(十)信号

10.1 信号概念 mac和linux都支持31种信号。不存在编号为0的信号。 产生信号的方式&#xff1a; 当用户按某些终端键时引发终端产生的信号硬件异常产生信号&#xff1a;除数为0、无效的内存引用等用户可用kill命令将信号发送给其他进程进程调用kill函数可将任意信号发送给另一…...

夜班 帮客户解决了全双工不通的问题

这件事发生在前几天我值夜班的时候&#xff0c;XX客户今天来上架交换机cisco3550-E&#xff0c;这台3550上连我们局端的cisco3750&#xff08;上连3750就可以上外网了&#xff09;. 因为客户业务需要100M全双工&#xff0c;所以他们在配置的时候采用全双工模式。问题就来了&a…...

评论:手机游戏的出路在哪里?

【IT168评论 】目前&#xff0c;很多有关移动互联网以及移动娱乐的调查数据都显示&#xff0c;手机 游戏是移动互联网未来发展不可或缺的组成部分&#xff0c;与此同时&#xff0c;有关手机 游戏的特点以及在移动互联网中如何发展的问题也不绝于耳。现在有公司认为手机 游戏在手…...

程序员 离开大厂走进工厂,宁德时代招聘热闹程度堪比春运...

&#x1f447;&#x1f447;关注后回复 “进群” &#xff0c;拉你进程序员交流群&#x1f447;&#x1f447;来源丨Linux就该这么学https://mp.weixin.qq.com/s/Yic6qyPzXQN2uQMXSrfzHQ近年来&#xff0c;工厂似乎被年轻人抛弃&#xff0c;平均每年有150万人离开制造业&#x…...

又过了无聊的一天.

今天还是一如昨天那样打QQ游戏,似乎近期的日子就这样子过去了. 给自己下了一个命令,明天开始不能再玩游戏了.一定要做事情了. 也不知道自己能不能遵守得到.唉....人呢,就是贪玩....

从港口煤炭工人,到国企大数据负责人:曾经的网瘾少年是怎么做到的?

大家好&#xff0c;我是独孤风&#xff0c;一位曾经的港口煤炭工人&#xff0c;目前在某国企任大数据负责人&#xff0c;公众号大数据流动主理人&#xff0c;近日公众号粉丝也刚刚突破了万人算是一个小小的里程碑。看着已经有一万人来关注自己&#xff0c;阅读过自己写的文章。…...

为什么?为什么测试开发程序员工程师总是加班,根本停不下来呢......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结前言 为什么&#xff1f;为什么测试开发程序员总是加班&#…...

与黑夜有染.

深夜运河边寂静无比的小路仿佛是一个无人的世界. 只有路灯的微黄在中秋的凉风中阵阵飘散. 与其说与黑夜有染,不如说是与寂寞有染. 其实也不准确. 在这个宁静的夜晚的某个无人十分,你独自站在运河边,看着孤独的,迷茫的,失意的,极端的自己的倒影,这难道不是你的世界? 你回想到上…...

在计算机上工作用英语怎么说,“Go to work”是“去上班”,那“上夜班”用英语怎么说呢?...

咔咔在毕业求职的时候&#xff0c;被推荐过一份工作——专业对口&#xff0c;还能留在大学的城市&#xff0c;唯一的遗憾就是要上夜班&#xff01;对于很多职业的人来说&#xff0c;上夜班简直是家常便饭。说实话&#xff0c;“上夜班”真的很考验一个人的生物钟啊&#xff01;…...

Windows ssh免密访问Linux服务器

文章目录1.在Windows上生成公钥和私钥2.将公钥中的内容复制到linux服务器3.确认linux服务器开启了允许SSH免密登录4.确认免密登录配置成功ssh提供了安全的身份认证的策略&#xff0c;在免密登录之前&#xff0c;首先需要一对公钥和私钥。客户端拿着私钥&#xff0c;服务端拿着公…...

利用WinEdt修改图片格式为eps

打开winedt 打开红色部分圈出来的控制台 输入cd 加图片所在地址&#xff0c;如: cd e:\ &#xff08;e:\ 是所要修改图片所在的地址&#xff09;bmeps -c xxx.jpg xxx.eps (xxx是图片名) 在原来图片位置则会出现相应的eps图片...

Wpf 动态给Image控件设置图片Imagesourse

myImage.Source _checkResult.myImagesourse;public BitmapImage myImagesourse{get{string path System.IO.Directory.GetCurrentDirectory();FileInfo directory new FileInfo(path);FileInfo directory2 new FileInfo(directory.DirectoryName);string sss directory2...

Sourse Insight使用教程及常见的问题解决办法

1、下载安装 2、创建项目new project(注意不是file-->new ),而是project-->new project,输入项目名称和密码. 3、添加文件&#xff0c;其实就是将你的整个项目文件添加到project中。 4、close就可以打开了。 具体参考道客巴巴一篇文章&#xff1a;Source_Insight教程及技…...

自我介绍网页注册页面填写表格PHP,JavaScript,html,css代码

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>自我介绍表格——SelfIntroductuonTable.html</title><script type"text/javascript" src"SelfIntroductuonTable.js"&g…...

apache无法打开php,如何解决apache无法打开运行php的问题

如何解决apache无法打开运行php的问题发布时间&#xff1a;2020-07-23 17:05:29来源&#xff1a;亿速云阅读&#xff1a;105作者&#xff1a;Leah如何解决apache无法打开运行php的问题&#xff1f;相信很多没有经验的人对此束手无策&#xff0c;为此本文总结了问题出现的原因和…...

PHP中将数据库中的数据显示在网页

最近没事把以前的东西感觉还可以的又简单的看了以下&#xff0c;因为还在学习新的东西&#xff0c;所以&#xff0c;发表的博客也不是很多&#xff0c;也许是有感而发吧。 这次讲的是mysql数据库中的数据使用php如何显示在网页中。首先&#xff0c;先建好自己的数据库并且添加一…...

动态网页PHP

1、动态网页是指客户端和服务器端可以进行交互&#xff0c;也就是说服务器端可以实时处理客户端的请求&#xff0c;并将请求结果返回给客户端。 动态网页可以又下列两种方式来完成&#xff1a;客户端scripts和服务器端scripts。比如说&#xff0c;有些人希望网页显示实时更新的…...

PHP与MySQL交互实现网页登录注册功能(步骤超详细!!!)

通过php与mysql实现网页登陆注册功能任务要求任务记录实现登陆功能实现注册功能任务思路任务重点任务方法任务代码代码思考重点回顾嗨&#xff0c;你好啊&#xff0c;初次见面&#xff0c;下面这些学习资料送给你&#xff0c;要一个关注不过分吧~&#xff0c;还想学什么留言或者…...

php登陆后显示昵称,php登录后怎么显示名字

PHP session 变量用于存储关于用户会话(session)的信息&#xff0c;或者更改用户会话(session)的设置。Session 变量存储单一用户的信息&#xff0c;并且对于应用程序中的所有页面都是可用的。我们可以在登录后使用PHP输出session中存储的用户名信息来实现php登录后显示名字。推…...

陈天奇团队发布TVM:把深度学习部署到手机、树莓派等更多硬件

本文来自AI新媒体量子位&#xff08;QbitAI&#xff09;△ 陈天奇&#xff0c;华盛顿大学计算机系博士生&#xff0c;此前毕业于上海交通大学ACM班。XGBoost、cxxnet等著名机器学习工具的作者&#xff0c;MXNet的主要贡献者之一。 DMLC项目发起人陈天奇今天早间宣布推出TVM。 所…...

你真的看懂扩散模型(diffusion model)了吗?(从DALL·E 2讲起,GAN、VAE、MAE都有)

本文全网原创于CSDN&#xff1a;落难Coder &#xff0c;未经允许&#xff0c;不得转载&#xff01; 扩散模型简单介绍 我们来讲一下什么是扩散模型&#xff0c;如果你不了解一些工作&#xff0c;你可能不清楚它究竟是什么。那么我举两个例子说一下&#xff1a;AI作画&#xff…...

下划线怎么打?

1.确定是英文键盘 2.同时按shift键减号 _ 3.通常键盘上有两个减号&#xff0c;选不是数字键盘上的那个减号...

Mac的下划线如何打出来?

Mac的下划线如何打出来&#xff1f; 快捷键&#xff1a; 【shift】【】【-】 也就是键盘上的这几个键&#xff1a;...

js画布文字下划线

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>JS画布下划线</title> </head> <body><canvas id"myCanvas" width"400" height"200" style"border:1px solid…...

未备份cf卡数据删除了怎么办?有这3个恢复方法

对于cf卡相信大家都不陌生&#xff0c;它被广泛用于相机&#xff0c;摄像机等电子设备中&#xff0c;然而&#xff0c;随着它的不断普及&#xff0c;可能会因为不同原因导致cf数据丢失&#xff0c;比如因病毒感染、误格式化导致删除&#xff0c;如果cf卡上的数据没有备份却删除…...

python双下划线怎么打出来_Python中单、双下划线的区别总结

该代码片段来自Django源码(django/forms/forms.py)。这段代码的设计就是errors属性是对外API的一部分&#xff0c;如果你想获取错误详情&#xff0c;应该访问errors属性&#xff0c;而不是(也不应该)访问_get_errors方法。双下划线开头之前很多人跟我说Python中双下划线开头表示…...

如何用计算机打出下划线,怎么在电脑上打出下划线

电脑上下划线在英文输入法下按住shift键&#xff0c;再按下—键就能打出来了。—键在&#xff1d;和0之间。Shift键&#xff1a;上档转换键&#xff0c;也可用于中英文转换&#xff0c;左右各1个shift键。Shift键的其他功能&#xff1a;1、取消启动的功能在开机进入Windows时&a…...

[附源码]计算机毕业设计springboot校园快递柜存取件系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…...

按这篇Java程序员的学习路线和职业生涯规划建议去学习,拿下年薪50w应该不是问题

最近在网上看到一篇关于Java程序员职业生涯规划的文章在Java程序员圈子里引起了一些人的评论和热议。 众所周知&#xff0c;由于疫情的影响部分企业不是倒闭了就是困难中求生存&#xff0c;对于求职者而言&#xff0c;找工作显得格外艰难。但对于Java程序员的招聘却远远没有饱…...

18年的学习生涯,尘埃落定于DT

18 年的学习生涯&#xff0c;尘埃落定于DT DT 11.17 一面二面完毕&#xff0c; 11.19 收到 offer &#xff0c; 11.21 深思熟虑后签订三方&#xff0c;就此暂时结束了 18 年的求学生涯。 选择是一种痛苦的幸福&#xff0c;在矩力北方和 DT 之间选择&#xff0c;咨询了 J…...

正式开始了解和学习Spring全家桶 ——— 开始工作中的学习生涯

正式开始了解和学习Spring全家桶 ——— 开始工作中的学习生涯前言1. 对自己的时间没有明确的计划&#xff0c;导致没有学习动力2. 对自己的学习方向和起点没有准确的定位3. 对个人能力的判断不准确方案一、开始Spring的学习二、学习计划**说了很多无关紧要的话&#xff0c;下面…...

【大学四年学习生涯回顾】聊聊我大学四年是如何度过的

从毕业答辩结束的那一刻起&#xff0c;我已经明白我的学生时代已经逝去&#xff0c;将要独自一人面对时代的洪流。 回顾我的大学四年我想最多的时间都花费在一些比赛竞赛上&#xff0c;虽然我的大学生活并没有像小说电视上那样演绎的丰富多彩&#xff0c;但就我个人而言这些比…...

GameNFT深度分析, 打造属于头号玩家的开放世界!

前言 千亿市场规模全球游戏市场欣欣向荣&#xff0c;元宇宙浪潮来袭后&#xff0c;区块链生态也希望借此通过游戏与用户建立联系&#xff0c;但随之而来的是良莠不齐的项目方&#xff0c;表面精致内核简陋的生态机制&#xff0c;冲不完的NFT及项目代币&#xff0c;让玩家直呼这…...

【人工智能】课堂测验集锦

身边的人工智能 目前还没有成功进行无人自动驾驶的案例 错 人工智能具有学会下棋的学习能力&#xff0c;是实现通用人工智能算法的基础 对 哪些属于家中的人工智能产品&#xff1f; A、手术机器人 B、个人语音助手 C、智能音箱 D、扫地机器人 BCD 目前外科手术领域的医用机…...

亚马逊于加拿大、美国、西班牙、瑞典和英国投资九个可再生能源新项目,成为欧洲首屈一指的可再生能源企业采购商

亚马逊现已成为欧洲乃至全球第一大可再生能源企业采购商&#xff0c;在世界各地有206个项目&#xff0c;每年采购量足以为数百万家庭供电 亚马逊在欧洲拥有超过2.5吉瓦的发电能力&#xff0c;在全球拥有8.5吉瓦的可再生能源发电能力&#xff0c;将于2025年实现100%使用可再生能…...

**网站被黑后和官网被入侵更好的处理解决办法

2011年11月11日&#xff0c;Valve Software总裁加布纽维尔bai向Steam的用户发du送了一篇通知&#xff0c;承认黑客大zhi规模攻击了daoSteam论坛&#xff0c;而且受zhuan到攻击的论坛数据库中&#xff0c;包含用户信用卡账号和个人信息数据包&#xff0c;其中用户信用卡账号和信…...

11-04Physics-Aware Learning-based Longitudinal Vehicle Trajectory Prediction in Congested Traffic

Physics-Aware Learning-based Longitudinal Vehicle Trajectory Prediction in Congested Traffic 摘要 拥挤交通中的冲击波通常会造成负面影响&#xff0c;包括额外的旅行时间、安全风险和能源消耗。基于学习的轨迹预测模型利用周围车辆的历史轨迹作为输入&#xff0c;而不…...

AWS宣布计划在加拿大开设第二个区域

新开设的AWS加拿大西部&#xff08;卡尔加里&#xff09;区域将于2023年底/2024年初启用&#xff0c;为客户提供更低的延迟、更强的容错能力&#xff0c;以及关键云工作负载弹性 新发布的AWS经济影响研究报告估计&#xff0c;到2037年&#xff0c;AWS将在加拿大投资超过170亿美…...

南理工计算机专业好吗,吉大计算机or南理工计算机?(江苏考生)

不是很厚2020-07-27 13:41:10点灭只看此人举报说起来…选吉大有啥悬念么…&#xff1f;就不是一个量级的学校。说起来…选吉大有啥悬念么…&#xff1f;就不是一个量级的学校。亮了(745)回复查看评论(6)sasasara2020-07-27 14:59:21点灭只看此人举报南理工和南航是江苏性价比最…...

08.数据结构:第一个动态结构-链表

大家好&#xff0c;我是王有志。关注王有志&#xff0c;回复DSA获取数据结构和算法学习资源。 今天我们一起学习线性表中的第二种数据结构&#xff1a;链表&#xff0c;也是真正意义上的第一个动态数据结构。 今天的内容分为3个部分&#xff1a;认识链表&#xff0c;链表的形…...

计算机图形学中的常用模型

今天在网上搜了一下图形学里面比较常用的模型&#xff0c;觉得挺有意思&#xff0c;把它们收集起来&#xff0c;总结一下。 1、Lena/Lenna 这个模型是一个美女&#xff0c;名字叫Lena&#xff0c;是1972年11月《Playboy》(国内译为&#xff1a;花花公子)杂志的一个插图。不知道…...

[附源码]计算机毕业设计疫情防控平台Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…...

IOT-物模型

物模型TSL&#xff08;Thing Specification Language&#xff09;是一个JSON格式的文件&#xff0c;它是物理空间中的实体&#xff0c;如传感器、车载装置、楼宇、工厂等在云端的数字化表示&#xff0c;从属性、服务和事件三个维度&#xff0c;分别描述了该实体是什么、能做什么…...

RFM模型以及案例

一.RFM模型定义 百度百科定义:**RFM模型是衡量客户价值和客户创利能力的重要工具和手段。在众多的客户关系管理(CRM)的分析模式中&#xff0c;RFM模型是被广泛提到的。该机械模型通过一个客户的近期购买行为、购买的总体频率以及花了多少钱3项指标来描述该客户的价值状况.* *简…...

RFM模型原理详解与实操运用

RFM模型原理详解与实操运用RFM模型原理介绍为什么要使用RFM模型RMF模型原理介绍RFM模型用户细分RFM模型实例操作背景/数据介绍RFM模型异化构建代码实现最近在 运营课程中学习了RFM模型&#xff0c;又正正好在 商务智能的课程中学习了使用K-Means聚类分析实现RFM的操作。 知乎了…...

关键词提取(3):主题模型:LSI模型

主题模型&#xff08;1&#xff09;&#xff1a;LSI模型一、LSI是什么&#xff1f;1.SVD1.1 如何求矩阵的奇异值分解1.2 实例进行证明二、代码三&#xff1a;参考资料一、LSI是什么&#xff1f; 在某些情况下&#xff0c;有些关键词并不会显式的出现在文档之中&#xff0c;如&a…...

时间序列模型(ARIMA模型)

时间序列分析? 时间序列,就是按时间顺序排列的,随时间变化的数据序列。 生活中各领域各行业太多时间序列的数据了,销售额,顾客数,访问量,股价,油价,GDP,气温。。。 常用的时间序列模型 常用的时间序列模型有四种: 自回归模型 AR移动平均模型 MA(q)自回归移动平均…...

NLP(五十三)在Keras中使用英文Roberta模型实现文本分类

英文Roberta模型是2019年Facebook在论文RoBERTa: A Robustly Optimized BERT Pretraining Approach中新提出的预训练模型&#xff0c;其目的是改进BERT模型存在的一些问题&#xff0c;当时也刷新了一众NLP任务的榜单&#xff0c;达到SOTA效果&#xff0c;其模型和代码已开源&am…...

seurat质控Warning: Feature names cannot have underscores (‘_‘), replacing with dashes (‘-‘)

需要进行替换 加上一行代码 sample_tumor[,2]指的是需要进行替换的列 rownames(sample_tumor) <- gsub("-", ".", sample_tumor[,2])...

in comment after two dashes (--) next character must be > not (position: START_TAG seen ...

报错信息如下图所示&#xff1a; 原因&#xff1a;注释错误 在两个破折号&#xff08;-&#xff09;之后的注释中&#xff0c;下一个字符必须是>不-&#xff08;位置&#xff1a;start_tag看到… 这句话的大概意思是在两个-后面必须是> 检查发现第一个注释只有左标签<…...

matplotlib 绘制 虚线线型之间的间隔设置

可以使用plot命令中的dashes(length, interval space)参数直接指定虚线长度/空格。 import matplotlib.pyplot as pltfig,ax plt.subplots() ax.plot([0, 1], [0, 1], linestyle--, dashes(5, 1)) #length of 5, space of 1 ax.plot([0, 1], [0, 2], linestyle--, dashes(5, …...

Matplotlib-自定义虚线样式

可参考官方文档中关于自定义虚线内容 import numpy as np import matplotlib.pyplot as pltx np.linspace(0, 10, 500) y np.sin(x) fig, ax plt.subplots()#方法一&#xff1a;先绘制&#xff0c;再设置set_dashes(横杠样式<列表形式>) line1, ax.plot(x, y, label…...

Vue笔记_03组件_mavonEditor组件(基于vue)

目录下载mavonEditor导入并注册mavonEditor组件[1] 全局注册[2]局部注册使用mavonEditor属性修改举例说明1-不展示预览分屏工具栏修改举例说明-根据配置显示工具栏编辑器插槽举例说明-自定义工具栏按钮函数监听下载mavonEditor 使用命令 npm install mavon-editor --s 进行下载…...

QStyle之PenStyle的CustomDashLine使用

文章目录本博文的简述or解决问题&#xff1f;系列博文&#xff1a;系列文章&#xff1a;运行效果&#xff1a;区别&#xff1a;PenStyle介绍&#xff1a;CustomDashLine使用方法&#xff1a;用于项目&#xff1a;更新2020-07-25&#xff1a;重绘滑动槽细节开心分享&#xff1a;…...

作业3 跟踪分析Linux内核的启动过程

朱婷婷 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、linux内核代码结构组成这里稍微说一下孟宁老师在课程里提到的几个重要的文件目录 首先说下/arch这个目录&#xff0c;这个目录的内容相当庞大&#xff0c;可移…...

python中base函数_详细的python basemap中各函数的所有参量注释

所有函数的参量在另一篇文章中#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Fri Dec 8 22:22:53 2017author: chenze"""import matplotlib.pyplot as pltimport numpy as npfrom mpl_toolkits.basemap import Basemapfrom netCD…...

单细胞三大R包之Seurat

本文是Seurat包的学习笔记&#xff0c;相比以前的略有更新&#xff0c;重新整理。 2019年7月的生物信息学人才论坛会议上&#xff0c;伊现富老师说过一句话&#xff1a;“过去的流程使用的是过去的工具”&#xff0c;这次重新学单细胞&#xff0c;对这句话有了更深刻的理解。 …...

Shell编码规范手册(shellcheck错误汇总)

Shell编码规范手册 背景 ​ shell脚本提交以前必须用静态代码扫描工具shellcheck扫描&#xff0c;根据提示修改代码&#xff0c;需达到扫描后无报错即可通过。 工具使用 ​ 安装shellcheck并使用命令进行扫描&#xff0c;具体步骤如下&#xff1a; # 安装&#xff1a; apt…...

git入门-----初始化命令(init、clone),Basic Snapshotting(add、status、commit、diff、reset、stash)

接下来就开始一点点的介绍一下入门的常用命令。如果你英文够好&#xff0c;那么强烈推荐看官方文档https://git-scm.com/docs 这里面是最全、最权威的用法。1、git仓库的创建和初始化相关的命令。 1.1 、git init。从本地目录初始化git仓库,直接调用git init 。Administrator9…...

mysql 常见问题处理_mysql常见问题处理

安装及常用的一些操作不会的话&#xff0c;可参照&#xff1a;https://www.cnblogs.com/wanggang2016/p/10425780.html一、mysql "select command denied to user root"出现这种情况是因为用户未授予对某数据库/所有数据库的控制权限:1、可直接通过命令解决&#xff…...

Git GitHub Gitee使用方法

作者 QQ群&#xff1a;852283276 微信&#xff1a;arm80x86 微信公众号&#xff1a;青儿创客基地 B站&#xff1a;主页 https://space.bilibili.com/208826118 参考 GitHub Help Git教程 使用Gitee Git冲突&#xff1a;commit your changes or stash them before you can mer…...

辞职了要不要退微信群,如果要,如何“优雅地退群”?

天下没有不散的筵席&#xff0c;辞职在职场中很常见&#xff0c;辞职了要跟公司跟同事散开了&#xff0c;那之前加入的各种公司微信群还有必要留着吗&#xff1f;大部分人觉得要退&#xff0c;主动退才是明智的选择&#xff0c;但是如何“优雅地退微信群”也是讲究方式的 天下…...

微服务架构在二手交易平台(转转)中的实践

本文根据ArchSummit北京2016大会分享整理下面由我跟大家分享微服务架构在二手交易平台&#xff08;转转&#xff09;中的实践。大家知道微服务架构现在是非常火热的一个话题&#xff0c;具体在交易平台里面它是怎么应用实践的&#xff0c;接下来的45分钟我会和大家深入的探讨一…...

诗词温习集:跟梁瀚文一起重温诗词(唐诗)之《登鹳雀楼》

诗词温习集&#xff1a;跟梁瀚文一起重温诗词&#xff08;唐诗&#xff09;之《登鹳雀楼》《登鹳雀楼》 唐.王之涣 白日依山尽&#xff0c;黄河入海流。 欲穷千里目&#xff0c;更上一层楼。 译文 注释 1&#xff0e;鹳雀楼&#xff1a;旧址在山西永济县&#xff0c;楼高三层&…...

什么是方法?

何谓方法 System.out.println()&#xff0c;那么它是什么呢&#xff1f; System是一个类&#xff0c;out是对象&#xff0c;println()是方法。意思是调用系统类里面的标准输出对象out中的方法println()方法。Java方法是语句的集合&#xff0c;它们在一起执行一个功能。 方法是…...

社畜什么意思,如何理解我是社畜,社畜青年是什么意思一起来看看

最近大家可能会看到很多网友自称自己是社畜青年&#xff0c;那么究竟这里的社畜青年是什么意思&#xff0c;社畜代表什么含义&#xff0c;今天我们就一起来具体了解一下。 首先大家要明白社畜这个网络语&#xff0c;最早是从日本传过来的&#xff0c;在日本一个形容上班族的贬义…...

飞入菜花无处寻的上一句是什么,飞入菜花无处寻是什么意思

“__________&#xff0c;飞入菜花无处寻”&#xff0c;你知道空白处该怎么填写吗?飞入菜花无处寻的上一句是什么&#xff0c;你知道吗?飞入菜花无处寻是什么意思呢?我们一起来学习下吧。 飞入菜花无处寻的上一句 “儿童急走追黄蝶&#xff0c;飞入菜花无处寻。” 所以飞入菜…...

c语言split函数是什么,R语言strsplit函数用法深入详解

1、R语言strsplit用于分割字符串创建测试数据> test > test[1] "aa bb cc dd ee ff"> class(test) ## 测试数据为字符[1] "character"2、按照指定分隔符拆分字符串> a > a[[1]][1] "aa" "bb" "cc" "dd&…...

java中的遍历是什么_Java中遍历List集合三种方法总结

package com.list.Test;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;/***author 791202.com*/SuppressWarnings("unused")public class MapTest {priv...

开学啦!班主任约你一起诗与远方......

你流下的每一滴汗水&#xff0c;终将成为浇灌未来的雨露。 一副行囊&#xff0c;一腔勇气&#xff0c;你们踏浪而来&#xff0c;与你们相遇&#xff0c;我们已期盼已久。 去年九月&#xff0c;你们作为大一的新生&#xff0c;积攒了一个春天的力量&#xff0c;在那个炎夏&…...

三分钟带你看懂金鹏奖最佳短片《盒子》,跟随你的内心或许才能到达诗和远方!...

本文将给你推荐一个金鹏奖最佳短片《盒子》&#xff0c;该影片视觉效果富有创意&#xff0c;兼顾技术性和艺术性。故事虽短却简洁有力&#xff0c;主题也极具思想&#xff01;片名&#xff1a;盒子来源地&#xff1a;斯洛文尼亚短片类型&#xff1a;动画导演&#xff1a;杜桑卡…...

天涯若比邻的上一句是什么,这首诗作者是谁、表达的是什么意思?

“__________&#xff0c;天涯若比邻。” 这道语文试题你会吗?天涯若比邻的上一句是什么&#xff0c;你知道吗?你还记得天涯若比邻这首诗的作者是谁吗&#xff0c;天涯若比邻表达的是什么意思呢?我们一起来了解下吧。 天涯若比邻的上一句 海内存知己&#xff0c;天涯若比邻。…...

挥一挥衣袖,贝索斯宣布“退位”,去追寻“诗和远方”

“每一天都是第一天” ——贝索斯 带领着亚马逊在疫情期间连连创造股价奇迹的贝索斯&#xff0c;突然决定功成身退。 美国时间2月2日&#xff08;周二&#xff09;美股盘后&#xff0c;亚马逊在四季度财报会上宣布&#xff0c;杰夫贝索斯&#xff08;Jeff Bezos&#xff09;将辞…...

贝索斯宣布“退位”,去追寻“诗和远方”

本文转载自 硅星人 “每一天都是第一天” ——贝索斯 带领着亚马逊在疫情期间连连创造股价奇迹的贝索斯&#xff0c;突然决定功成身退。 美国时间2月2日&#xff08;周二&#xff09;美股盘后&#xff0c;亚马逊在四季度财报会上宣布&#xff0c;杰夫贝索斯&#xff08;Jeff Be…...

区块链的诗与远方

作者&#xff1a;徐川 本文系作者为 BCCon 大会迷你书《区块链生态技术谈》所作的卷首语。 “这个世界不只有眼前的苟且&#xff0c;还有诗与远方。” 现在已经没人会去关心中本聪是在一个什么样的情况下发布比特币了吧&#xff0c;然而&#xff0c;我还是想跟你再谈一谈。 时间…...

父母尚在苟且,你却在炫耀诗和远方

http://www.baidu.com/link?urlIsILZWhvxx6fmMbU7jtEIDipmHZp_7Tvt6hsvmlePt6R2ep8zwEv7ACs4dvmoa8SrkBDS-EfbGneKWdjhPTwqWPCAkX3MQcfj8Jax3fS6fm&wd&eqidb24eb5670009d94e0000000356ee090f 随着国庆长假的结束&#xff0c;一年几度的朋友圈杯摄影大赛也暂时告一段落…...

天下武功为快不破,戏说Python与Go高并发争锋!

在这个以斗气大陆横行的世界&#xff0c;每一个大的势力宗门都有自己的杀手锏的功法&#xff0c;比如老牌的古族有C这样的巨无霸语言&#xff0c;药族有C语言&#xff0c;几乎斗气大陆所有的操作系统都是用C语言做的&#xff0c;毕竟斗气都要靠吃丹药维持。而实力非常猛的魂族有…...

将进酒、凉州词(两个版本)、 回乡偶书

这些诗词&#xff0c;真的特美。 现在有很多&#xff0c;以诗词为歌词&#xff0c;配曲子来唱的&#xff0c;感觉太棒了。据说古代&#xff0c;就这样玩的。 流传千年的歌词&#xff08;诗&#xff09;&#xff0c;会有多牛。 不是现在那些流行歌词能比的。 我大中华的文化…...

python儿童编程例子代码-少儿编程之 Python

一个孩子爸爸联系我&#xff0c;想咨询如果让娃学习Python。我思考了好久&#xff0c;两个问题一直困扰着我&#xff1a; 1. Why Python?图片发自简书App 这是我在网上找到的Python具体应用的领域&#xff0c;大人学习可以从自己的行业入手&#xff0c;那么如何让小孩子入门呢…...

带有风的诗词_含有风的诗句_诗词完美版

《含有风的诗句》含有风的诗句(一)&#xff1a;1、却余人物淘难尽&#xff0c;又挟风雪作远游。梁启超《太平洋遇雨》2、夜来风雨声&#xff0c;花落知多少。孟浩然《春晓》3、春风得意马蹄疾&#xff0c;一日看尽长安花。孟郊《登科后》4、随风潜入夜&#xff0c;润物细无声。…...

儿童背诵古诗词-3

1 春江花月夜-张若虚 春江潮水连海平&#xff0c;海上明月共潮生 滟滟随波千万里&#xff0c;何处春江无月明 江流宛转绕芳甸&#xff0c;月照花林皆似霰 空里流霜不觉飞&#xff0c;汀上白沙看不见 江天一色无纤尘&#xff0c;皎皎空中孤月轮 江畔何人初见月&#xff0…...

儿童诗词学习

鹿寨&#xff08;王维&#xff09; 空山不见人&#xff0c;但闻人语响。 返景入深林&#xff0c;复照青苔上。 独坐敬亭山&#xff08;李白&#xff09; 众鸟高飞尽&#xff0c;孤云独去闲。 相看两不厌&#xff0c;只有敬亭山。 杂诗&#xff08;王维&#xff09; 君自…...

关于某某大学校园网认证系统的一些工作

由于我们学校的校园网认证是弹出页面的那种&#xff0c;每次输密码都会很蛋疼&#xff0c;于是大一的时候我写过一个宏&#xff0c;每次打开认证界面按一下设定好的键就可以自动填上账号密码了&#xff0c;用了将近三年&#xff0c;效果一直不错。 但最近我发现了一个新的问题…...

校园网认证系统-802.1x协议介绍

本文转自http://hi.baidu.com/xinghui100/blog/item/e0edb36dbbacb8fe43169405.html802&#xff0e;1x协议解析 802.1X协议是由(美)电气与电子工程师协会提出&#xff0c;刚刚完成标准化的一个符合IEEE 802协议集的局域网接入控制协议&#xff0c;其全称为基于端口的访问控制协…...

重构信息茧房

我现在越来越反感弹幕的存在。其罪有二&#xff1a;一为扰乱我感受视频原有的内容&#xff1b;二为传播戾气。首罪对我危害最大&#xff0c;回顾以往&#xff0c;视频上的弹幕是如何将浮躁、快节奏、段子等互联网无聊产物潜移默化的塞入我的思维。它带给我快乐的价值远远低于收…...

Ending Prison Break(越狱)

用了三天时间看完了《Prison Break》,这是看完了《Desperate Housewives》后看的第二部美国电视剧&#xff0c;还算不错&#xff0c;虽然只有一季&#xff0c;但绝对能让人过把瘾了&#xff0c;一个和desperate housewives 完全不同风格的剧集&#xff0c;每一季都环环相扣&…...

图森计划裁员25%/ 特斯拉被曝将冻结招聘/ 天才黑客Geohot从推特辞职…今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI大家好&#xff0c;今天是12月22日星期四&#xff0c;距离周末还有两天&#xff0c;距离圣诞还有三天。今天科技圈都有哪些大事发生&#xff0c;快来和日报君一起康康&#xff5e;图森计划裁员25%当地时间周三&#xff0c;图森未来宣布…...

我眼中的光明·第四周

冰冻三尺一 冰冻三尺&#xff0c;非一日之寒。日积月累&#xff0c;方能见效。见效越快意味着越不能持久。珍惜每一分钟的给予&#xff0c;珍惜在一起的每一刻钟。我们千万不要和自己心爱的人之间冰冻三尺。如果有了矛盾及时解决&#xff0c;将这一点点的矛盾之冰及时融化。因为…...

《越狱》中的项目管理 [原稿]

很早的时候写的一篇文章&#xff0c;那时候还只是个主管&#xff0c;文章发表于《商界评论》&#xff08;2007第六期&#xff09;&#xff0c;转载请注明出处 五一期间&#xff0c;又看了一遍《越狱》的第一季。其实&#xff0c;越狱并非一个新鲜的题材&#xff0c;记得之前就有…...

iOS时间那点事

NSDate NSDate对象用来表示一个具体的时间点。NSDate是一个类簇&#xff0c;我们所使用的NSDate对象&#xff0c;都是NSDate的私有子类的实体。NSDate存储的是GMT时间&#xff0c;使用的时候会根据 当前应用 指定的 时区 进行时间上的增减&#xff0c;以供计算或显示。 可以快…...

《越狱》穿帮集锦(第一季)

第一集里面MS与哥哥在粉刷墙壁&#xff08;注意、刷子是白色的&#xff09;在下工返监时候交接工具&#xff0c;白刷子居然变成绿的了。第二集里面&#xff0c;MS从操场上的长椅下拆下来螺栓&#xff0c;计划可以磨成一把头部为正六面体的改锥。&#xff08;注意、螺栓与地面的…...

饥荒 阿里云服务器搭建记录

获得一个服务器 我选的是阿里云学生免费体验的服务器 ubuntu 4核(vCPU) 8 GiB 3Mbps 带宽 饥荒 照搬的 饥荒云服务器搭建流程【Steam】【阿里云】 安装工具 sudo apt-get update #更新软件源 sudo apt-get upgrade #更新软件 sudo apt-get install dos2unix #转换格式工具…...

饥荒开服(含各种踩雷)

饥荒开服(含各种踩雷) 纯小白,用过Mac电脑.这就是我全部Linux基础了,结果搭建了一个上午才勉强搭出来过程中感觉比饥荒还饥荒.所以我在这里分享一下我自己的搭建过程…我是使用的阿里云的Ubuntu 18.04 64位的服务器,我尽量会把出错误的各种情况说清楚 0.安装步骤 安装依赖下载…...

饥荒 出现error during initialization的解决方法

最先我的电脑是可以运行饥荒的&#xff0c;然而&#xff0c;我重装系统后&#xff0c;打开饥荒这款游戏。游戏黑屏显示error during initialization错误。我在网上找了很多方法&#xff0c;花了很多时间&#xff0c;各种折腾。最终&#xff0c;完美解决了。或许&#xff0c;我的…...

在centos上搭建饥荒服务器

用这篇文章记录一下我搭建饥荒服务器的过程&#xff0c;在阅读参考本文章前&#xff0c;您需要&#xff1a; 拥有安装CentOS的云服务器&#xff0c;使用其他操作系统在部署饥荒服务器的时候可能会出现问题包含cluster_token的地图文件夹。这部分操作比较简单&#xff0c;现在在…...

饥荒服务器怎么改成无限模式,tgp饥荒服务器搭建怎么搭建无尽模式

匿名用户1级2017-03-08 回答TGP饥荒专用服务器创建地表及洞穴的方法还有很多玩家们不太熟悉&#xff0c;具体该如何操作&#xff1f;接下来为大家带来ldquo;安菲儿公主rdquo;分享的详细操作玩法&#xff0c;一起来看看吧。服务器搭建图文教程点击查看首先创建一个地表服务器1、…...

【MySQL】MyCAT三大配置文件详解(MySQL专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建工设优化。文章内容兼具广度深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于知名金融公…...

【学习分享】C语言程序设计思维导图—4:基本输入输出

分享在华为云Classroom中学习C语言时做的思维导图。 在课程里&#xff0c;第四章为基本输入输出和顺序程序设计&#xff0c;在学习总结的过程中&#xff0c;把顺序程序设计放到了下一章节&#xff0c;将三种基本结构放到了一章里。下载链接&#xff1a;https://bbs.huaweicloud…...

CAD一个命令快速绘制箭头,真的是敲极快!

CAD中利用多段线可以快速绘制一个箭头&#xff0c;具体步骤如下&#xff1a; 执行多段线【命令PL】&#xff0c;按下空格 鼠标指定起点&#xff0c;单击一下左键&#xff0c;再输入命令【w】&#xff0c;按下空格 输入箭头直线段的宽度&#xff0c;指定起点宽度这里我们以100为…...

如何使用CAD编辑器来画箭头

我们在CAD图纸中一般都是看见有很多的指示箭头&#xff0c;在图纸中能够起到很好的指示作用。那么&#xff0c;如何使用CAD编辑器来画箭头呢&#xff1f;相信很多的小伙伴们都想要知道具体的操作方法&#xff0c;那下面小编本编教程就来教教大家&#xff0c;希望对你们有帮助&a…...

天正引出标注lisp_CAD中怎么画引出标注?

展开全部做法标注、引出标注都是天正命令的名称&#xff0c;在CAD中全部是用多重引线来完成。32313133353236313431303231363533e78988e69d8331333433646436先说天正&#xff0c;比较简单。做法标注&#xff1a;天正菜单中&#xff0c;符号标注——做法标注&#xff0c;出现对话…...

cad的半截箭头快捷键

le...

lisp画弯箭头_AutoCAD中怎么画箭头 CAD画箭头的方法

看到网上很多人不知道CAD怎么画箭头的方法&#xff0c;AutoCAD中怎么画箭头&#xff1f;其实在CAD中绘制箭头的方法很多&#xff0c;CAD培训的老师就自己常用的方法说说吧&#xff1a;1.如果你要标注的话,系统会自动画出箭头,如果想改变箭头的大小可以在-------修改----箭头文字…...

vue 运行项目浏览器页面显示“该网页无法正常运作”

项目运行成功并自动弹出 但是页面上显示&#xff1a; 确定问题&#xff1a; 检查build/webpack.dev.conf.js文件中是否存在下面代码&#xff1a; disableHostCheck: true, https: true,如果有的话&#xff0c;确定一下是否用的https进行的访问&#xff0c;如果用https进行访…...

asp.net 调试 无法显示该网页

在用VS2008调试网站的时候&#xff0c;突然页面不能正常显示了&#xff0c;IE显示“无法显示该网页”。 症状一&#xff1a;  IE地址栏里面显示的端口号和桌面任务栏右下角“ASP.NET Development Server”的端口不一致&#xff0c;而把IE地址栏的端口号改成“ASP.NET Develo…...

SAP F1 无法显示该网页 完美解决方案(不用重装SAP)

SAP F1或HTML页面都找不到页面完美解决方案(不用重装SAP) 问题截图&#xff1a; 图一 原因&#xff1a; 无法显示该网页&#xff0c;最近总被这样的问题困扰&#xff0c;这几天重装两次发现&#xff0c;偶尔用电脑管家清理一下病毒&#xff0c;总是发现有这样的信息存在&…...

vs无法显示该网页

看了这篇文章&#xff08;http://hi.baidu.com/leilongbing/blog/item/fa3a3253a39f0a060df3e3f1.html&#xff09;解决了问题&#xff1a; 调试Web程序的时候&#xff0c;突然页面不能显示出来&#xff0c;老是显示着“网页无法显示”的页面。云里雾里&#xff0c;鬼知道是怎…...

准备转行入坑iOS开发的大灯,第一步-第一篇:基本要求和技术趋势

毛笔照片 - 加上直式文字&#xff0c;更显中国水墨风说到App开发的工作时常令人兴奋&#xff0c;而且报酬也好。可以创造令人惊叹的产品&#xff0c;让人们的生活更美好&#xff0c;并在一个舒适温暖的办公室里度过一整天... 梦想总是美好的。如果没有开始行动&#xff0c;梦终…...

解决关于腾讯会议黑屏问题(ThinkpadE420型号)

近期&#xff0c;由于2020年1月的疫情影响&#xff0c;开学时间一度被延期&#xff0c;毕设答辩被安排到线上&#xff0c;学院安排使用 腾讯会议app进行线上答辩。然而在测试阶段发现问题&#xff0c;打开页面出现黑屏问题&#xff0c;现就解决方案分享给出现类似问题的你。 问…...

iPad 3 即将发布,网传价格,IPD2降价50$ 新功能猜测

中关村在线消息&#xff1a;近几日苹果 iPad 3明显受到了更多用户的关注&#xff0c;互联网中关于此款 产品的消息早已被传的沸沸扬扬&#xff0c;之前曾有国外媒体曝出 苹果iPad 3将会于3月9日发布&#xff0c;这个时间与 iPad 2的发布时间相差无几&#xff0c;而今天我们也发…...

苹果gamecenter未能连接服务器,win7系统GameCenter无法连接服务器的解决方法

很多小伙伴都遇到过win7系统GameCenter无法连接服务器的困惑吧&#xff0c;一些朋友看过网上零散的win7系统GameCenter无法连接服务器的处理方法&#xff0c;并没有完完全全明白win7系统GameCenter无法连接服务器是如何解决的&#xff0c;今天小编准备了简单的解决办法&#xf…...

windows无法连接到打印机

项目场景&#xff1a;windows无法连接到打印机 windows无法连接到打印机。本地打印后台处理程序服务没有运行。请重新启动打印机后台处理程序或重新启动计算机 问题描述 解决方案&#xff1a; 搜索服务&#xff0c;点击打开 搜索Print Spooler 查看状态是否运行&#xff0c;…...

win7进去提醒未能连接一个服务器,win7系统提示“未能连接一个windows服务”这个情况如何解决...

win7系统提示“未能连接一个windows服务”这个情况如何解决发布时间&#xff1a;2020-01-14小编&#xff1a;yongzhi浏览数&#xff1a;最近呢&#xff0c;小编收到了一些小伙伴的来信&#xff0c;他们说&#xff1a;重装win7系统过后&#xff0c;就会弹出一个“未能连接一个wi…...

电脑显示未连接一个服务器怎么处理,Win7开机提示“未能连接一个windows服务”的解决方法...

最近有一位Win7系统用户&#xff0c;开机之后系统出现提示“未能连接一个windows服务”&#xff0c;上面显示Windows无法连接到System Event Notification Service服务&#xff0c;肯定是服务项出现了问题。那么我们该如何解决这个问题&#xff1f;下面装机之家分享一下Win7开机…...

老是未能连接一个window服务器,未能连接一个Windows服务 怎么回事

打开【运行】&#xff0c;然后输入CMD&#xff1b;输入【NETSH WINSOCK RESET CATALOG】命令&#xff0c;然后重新启动【System Event Notification Service】服务&#xff1b;输入【NETSH WINSOCK RESET CATALOG】命令&#xff1b;如果不行在安全模式上输入重启。以下是详细介…...

HarmonyOS内核(Lite-mOS)开发——任务管理

任务管理简介基本概念 1、从系统的角度看&#xff0c;任务是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源&#xff0c;并独 立于其它任务运行。 2、LiteOS的任务模块可以给用户提供多个任务&#xff0c;实现了任务之间的切换和通信&#xff0c;…...

windows7未能连接一个windows服务(无法连接网络)的解决方法

今天下午不知道怎么搞的&#xff0c;就搞的无线不可以用了&#xff0c;出现了个 “windows7未能连接一个windows服务”问题&#xff0c;而且连eclipse都打不开了。 晚上在网上找了一个方法&#xff0c;终于搞定了。 方法&#xff1a;是重新安装了下360&#xff0c;然后它自动…...

如何解决win7开机提示未能连接一个Windows服务

1.以安全模式打开电脑&#xff1b; 2.打开运行菜单&#xff0c;在运行对话框中输入CMD&#xff0c;回车打开命令对话框&#xff1b; 3.然后在命令对话框中输入“NETSH WINSOCK RESET CATALOG”命令&#xff0c;点击Enter&#xff1b; 4.重启电脑。...

windos未能链接服务器,提示Windows没法连接到System Event Notification Service服务

是win7吗?百度来的&#xff0c;您试试&#xff01;Windows7系统无法连接到System Event Notification Service服务的解决方法第一步&#xff1a;点击开始&#xff0c;在搜索栏中输入CMD&#xff0c;右键点击程序下的cmd&#xff0c;在右键菜单中左键点击&#xff1a;以管理员身…...

windows 7 开机错误 未能连接到一个Windows服务

Windows无法连接到system event notification service服务。此问题阻止标准用户登录系统。作为管理员用户&#xff0c;您可以复查系统事件日志&#xff0c;以获得有关此服务未响应原因的详细信息。 如下图&#xff1a; 莫名其妙突然电脑死机了&#xff0c;重启后就出现了上述问…...

黑镜.潘达斯奈基 高清中字

链接&#xff1a;https://pan.baidu.com/s/1Y8tHh3ss8UdxZT4lqMPvlw 提取码&#xff1a;kysl...