用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/MIUAV/vibe-coding-ros2 --skill tl-domain-adaptation命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | tl-domain-adaptation |
| description | 域适应技能 - DANN、ADR、CORAL、域混淆、特征对齐 |
| argument-hint | 域适应 OR domain adaptation OR DANN OR CORAL OR 域迁移 |
| user-invocable | true |
解决源域和目标域分布差异的迁移学习方法
当需要以下帮助时使用此技能:
import torch
import torch.nn as nn
class DomainAdversarial(nn.Module):
def __init__(self, feature_dim, num_classes, domain_dim=2):
super().__init__()
# 特征提取器
self.feature_extractor = nn.Sequential(
nn.Linear(feature_dim, 256),
nn.ReLU(),
nn.Dropout(0.5),
nn.Linear(256, 128),
nn.ReLU()
)
# 标签分类器
self.label_classifier = nn.Linear(128, num_classes)
# 域分类器
self.domain_classifier = nn.Sequential(
GradientReversalLayer(),
nn.Linear(128, domain_dim)
)
def forward(self, x, alpha=1.0):
features = self.feature_extractor(x)
features_rev = GradientReversalLayer.apply(features, alpha)
class_pred = self.label_classifier(features)
domain_pred = self.domain_classifier(features_rev)
return class_pred, domain_pred, features
class GradientReversalLayer(nn.Module):
@staticmethod
def forward(x, alpha=1.0):
return x
@staticmethod
def backward(x, grad_output, alpha=1.0):
return -alpha * grad_output
class CORALLoss(nn.Module):
def __init__(self):
super().__init__()
def coral_loss(self, source, target):
"""CORAL 损失函数"""
d = source.size(1)
# 中心化
source = source - source.mean(0)
target = target - target.mean(0)
# 协方差矩阵
cov_source = (source.t() @ source) / (source.size(0) - 1)
cov_target = (target.t() @ target) / (target.size(0) - 1)
# Frobenius 范数
loss = torch.norm(cov_source - cov_target, p='fro')
loss = loss ** 2 / (4 * d * d)
return loss