python - 通过跳过头部层加载张量流检查点
问题描述
我正在使用模型(SimCLR)从图像中学习表示。在预训练时,模型是针对单个虚拟标签进行训练的。现在我想用 8 类数据微调模型。在将预训练模型检查点加载到尚未经过微调的具有 8 类头的模型时,我遇到了 ValueError。
ValueError: Tensor's shape (2048, 1) is not compatible with supplied shape [2048, 8]
在加载到检查点以微调模型之前,是否有排除最后一个头层权重的解决方案?
系统信息
- TensorFlow 版本:2.5.0
- Python版本:3.7.3
解决方案
好吧,为了让您的预训练模型能够成功处理您的新输入,它们需要与它期望的旧输入具有完全相同的形状(来自旧的 1D 模型)。要让您的 8 类数据与此模型一起使用,您需要更改模型本身以处理 8 个类的输入。这可能需要您编辑模型本身的属性,并且如果没有代码的可视化,很难确切地说出您需要在哪里进行更改。
推荐阅读
- powershell - 将变量传递给 get-aduser cmdlt 的问题
- javascript - 电子邮件模板变量自动成为锚链接?
- java - 无法通过谢尔平基三角形的递归
- oracle11g - Oracle 计划作业成功,但未执行存储过程
- node.js - 服务器不断运行更新缓存的功能,它会阻塞所有其他服务器功能吗?
- acumatica - 在新页面中使用 CSAttributes
- css - css not 选择器不工作,不知道为什么
- selenium - PermissionError: [Errno 1] 在 iOS 上使用 Selenium 和 Pythonista 时不允许操作
- ios - CATiledLayer 如何在内部工作
- sql - Powershell – 使用 SQL 数据 Ping 服务器进程