Kubernetes-Informer学习笔记-1

List-Watch机制

  • List:全量事件
  • Watch:增量事件

两者结合可以保证消息的可靠性、实时性、高性能。如果纯使用List也能获取所有事件,但是这会对ApiServer造成很大的压力,也很难满足实时性!

K8s每个资源的ResourceVersion

k8s的每个资源都会带有resourceVersion字段,数字递增

Informer

  • clinet-go中的一个核心工具包,List/Get k8s中的所有Object
  • Informer会自己维护一个缓存,以便更快的返回资源信息
  • Informer只会调用k8s的ListWatch两种API
  • 可监听事件并触发回调函数
    Informer中可以添加自定义的回调函数:OnAdd()、OnUpdate()、OnDelete(),在Controller的设计实现中,会经常用到Informer这个功能

在这里插入图片描述

  1. Informer在初始化时,会先调用List获取所有资源(仅调用1次)
  2. List得到的资源全部写入本地缓存
  3. Watch Kubernetes Api资源,维护本地缓存

DeltaFIFO:存储Informer Watch返回的各种事件

LocalStore:只会被ListerList/Get方法访问

DeltaFIFOLocalStore之间存在resync机制!!!

GAN-Informer 结合了生成对抗网络(GAN)和 Informer 的特性,通常用于时间序列预测或其他复杂数据建模任务。以下是 GAN-Informer 架构的核心组成部分及其工作原理: ### GAN-Informer 架构概述 GAN-Informer 主要由两个核心模块组成:**生成器 (Generator)** 和 **判别器 (Discriminator)**,以及基于 Informer 的编码解码机制。 #### 1. Generator 生成器负责生成逼真的时间序列数据或特征表示。它利用 Informer 的高效注意力机制来捕捉长期依赖关系,并通过生成对抗训练优化其输出质量[^1]。 ```python class Generator(nn.Module): def __init__(self, input_dim, output_dim, d_model, n_heads, num_layers): super(Generator, self).__init__() self.encoder = Encoder(input_dim, d_model, n_heads, num_layers) self.decoder = Decoder(output_dim, d_model, n_heads, num_layers) def forward(self, x): encoded_x = self.encoder(x) generated_output = self.decoder(encoded_x) return generated_output ``` #### 2. Discriminator 判别器的作用是对真实数据和生成数据进行区分,从而指导生成器逐步提高生成能力。判别器同样采用 Informer 的架构设计,能够有效处理高维时间序列输入[^2]。 ```python class Discriminator(nn.Module): def __init__(self, input_dim, d_model, n_heads, num_layers): super(Discriminator, self).__init__() self.informer = Informer(input_dim, d_model, n_heads, num_layers) def forward(self, x): features = self.informer(x) validity = torch.sigmoid(features.mean(dim=-1)) return validity ``` #### 3. Training Process GAN-Informer 的训练过程遵循标准的 GAN 训练范式,即交替更新生成器和判别器参数。具体而言: - 判别器损失函数衡量其对真假样本分类的能力。 - 生成器损失函数则旨在欺骗判别器,使其无法分辨生成样本的真实性。 最终目标是最小化以下联合损失函数: \[ L_{total} = L_{discriminator} + \lambda \cdot L_{generator} \] 其中 \(L_{discriminator}\) 表示判别器损失,\(L_{generator}\) 表示生成器损失,而 \(\lambda\) 控制两者之间的平衡权重[^3]。 --- ### 流程图描述 由于当前环境不支持直接绘制图形,以下是 GAN-Informer 的逻辑流程文字说明: 1. 输入历史时间序列数据至生成器; 2. 生成器基于 Informer 编码解码框架生成伪时间序列数据; 3. 将生成的时间序列与真实数据一同送入判别器; 4. 判别器评估每组数据的真实概率; 5. 更新生成器和判别器参数以最小化各自的目标损失函数。 如果需要更直观的理解,建议查阅相关论文中的插图或开源实现文档[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值