还是忍不住对对比学习的知识蒸馏动手了(CRD1) 小陈读paper

这篇发布在ICLR 2020 上 名副其实的顶刊

看这个作者阵容也是十分的给力哈哈哈哈

确实很摘要

第一句话:

通常我们希望

将表征知识从一个神经网络转移到另一个神经网络

其实 做蒸馏或者看蒸馏领域的 确实 是这种感悟 没毛病的

第二三两句:

在介绍 KD是什么东西

第四句话:

存在的问题:我们证明了这个目标忽略了教师网络的重要结构知识

第五句话,第六句话:

解决方案

这激发了另一个目标,在该目标中,我们训练学生在教师数据表示中捕获更多信息。

其实也算想干什么 We formulate this objective as contrastive learning.

以及后面的 即为 实验的优秀性 但也看到了 SOTA  

Introduction

第一段很正常,但是也指出了一个新的未探索的 跨模态领域的蒸馏

惊呆了 烙铁。我可以回答陈老师的问题了

真的是 好高级啊  只能说 牛死了

是什么意思嘞:原始的KD的目标函数完全分解的形式呢 不足以传递结构知识,即输出维度i和j的之间的依赖关系

这类似于图像生成的情况,由于输出维度之间的独立性假设,L2 目标产生模糊的结果。

这个比喻很贴切 或者 说引出问题 很高级

为了克服这个问题,我们希望一个捕获相关性和高阶输出依赖关系的目标。

为此,在本文中,我们利用对比目标

在这里,我们将它们适应从一个深度网络到另一个深度网络的知识蒸馏任务。

我们表明,在表示空间中工作很重要,类似于 Zagoruyko & Komodakis (2016a) 等最近的工作;Romero 等人。 (2014)。

当前对比的损失函数中存在的问题

然而,请注意,这些作品中使用的损失函数没有明确尝试捕获表示空间中的相关性或高阶依赖关系。

这不是偷懒啊 是因为 真的 很简练 就。。。。不需要多逼逼什么 

主要是最后一段。。。。enmmmm 

<think>好的,我现在需要回答用户关于Helm Chart中CRD使用方法的问题。首先,我需要回忆一下CRD在Kubernetes中的作用,以及Helm Chart如何管理CRD。 用户提供的引用中,引用[3]提到CRD和Operator的开发,特别是通过框架简化开发。引用[1]提到在templates目录下安装CRD的顺序问题。这些信息很重要,因为CRD必须在自定义资源(CR)之前被安装,否则Kubernetes无法识别CR。 接下来,我需要确定Helm Chart中处理CRD的标准方法。通常,Helm会在安装Chart时自动安装CRD,但用户可能需要手动管理,特别是升级或删除的时候。根据Helm的文档,CRD放在Chart的`crds`目录下,这样Helm会优先处理这些文件,确保在安装其他资源之前CRD已经存在。 然后,用户可能需要一个示例。我需要构造一个简单的CRD定义,比如一个MyAppResource,然后在templates中创建一个使用该CRD的实例。同时,要提到安装顺序的重要性,如引用[1]所述,避免CR在CRD之前被创建导致错误。 还要注意,当升级或删除Chart时,CRD不会被自动删除,这是出于安全考虑。用户需要手动处理,或者通过钩子来实现,但需要谨慎操作,避免影响其他依赖该CRD的资源。 最后,总结使用步骤:创建crds目录,定义CRD YAML,在templates中创建CR实例,安装Chart。可能的问题包括版本升级时的兼容性,以及多个Chart共享同一CRD的情况,需要协调处理。 现在需要确保回答结构清晰,分步骤说明,并包含示例代码。同时,根据用户要求,生成相关问题,比如CRD的升级策略、与Operator的关系等。</think>### Helm Chart 中 CRD 的使用方法与示例 #### 1. CRD 在 Helm Chart 中的核心作用 CRD(Custom Resource Definition)允许扩展 Kubernetes API,定义自定义资源类型。在 Helm Chart 中,CRD 通常用于声明 Operator 或特定应用所需的资源结构,例如数据库配置、监控规则等。通过 Helm 安装 CRD 可确保集群在部署应用前已具备所需的 API 扩展[^3]。 #### 2. CRD 的 Helm Chart 文件结构 Helm Chart 的标准目录中,CRD 文件应存放在 `crds/` 目录下(Helm 3+ 推荐): ``` my-chart/ ├── crds/ │ └── myapp-crd.yaml ├── templates/ │ └── myapp-instance.yaml └── Chart.yaml ``` Helm 会优先安装 `crds/` 目录下的资源,确保 CRD 在模板渲染前已生效[^1]。 #### 3. 示例:CRD 定义与使用 **步骤 1:定义 CRD** ```yaml # crds/myapp-crd.yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: name: myapps.example.com spec: group: example.com versions: - name: v1 served: true storage: true schema: openAPIV3Schema: type: object properties: spec: type: object properties: replicaCount: type: integer image: type: string scope: Namespaced names: plural: myapps singular: myapp kind: MyApp ``` **步骤 2:创建 CR 实例** ```yaml # templates/myapp-instance.yaml apiVersion: example.com/v1 kind: MyApp metadata: name: demo-app spec: replicaCount: 3 image: nginx:1.25 ``` #### 4. 关键注意事项 - **安装顺序**:Helm 3+ 自动优先处理 `crds/` 目录,避免因 CRD 未就绪导致的资源创建失败 - **升级限制**:CRD 的更新可能破坏现有资源,需谨慎处理版本兼容性 - **删除策略**:卸载 Helm Chart 时默认不会删除 CRD(防止级联删除其他依赖资源) - **多 Chart 共享**:若多个 Chart 依赖同一 CRD,需通过独立 Chart 管理 CRD 或协调安装顺序 #### 5. 高级用法:CRD 与 Operator 集成 通过 Helm 部署 Operator 时,通常将 Operator 的 CRD 和控制器打包到同一 Chart: ```yaml # 示例:Operator 部署结构 crds/ operator-crd.yaml templates/ operator-deployment.yaml cluster-role.yaml my-resource.yaml # 使用 CRD 的自定义资源 ``` Operator 控制器会监听 CR 实例的变化并执行协调逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东东要拼命

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值