python - RuntimeError:张量 (0) 的扩展大小必须与非单维 0 处的现有大小 (5) 匹配
问题描述
在以下函数中:
def dump_embedding(self, weight):
with torch.no_grad():
embeddings = self.forward(self.input_ids+self.id_offset)
weight[self.id_offset:self.id_offset+self.length,:]=embeddings.detach()
我收到以下错误:
weight[self.id_offset:self.id_offset+self.length,:]=embeddings.detach()
RuntimeError: The expanded size of the tensor (0) must match the existing size (5) at non-singleton dimension 0. Target sizes: [0, 768]. Tensor sizes: [5, 768]
基于此,我似乎应该有其他方法来扩大张量的大小,但我只是不知道如何。
调用函数也是这样的,可能需要更改:
if self.decoder_prompt_encoder:
if (self.decoder_original_embedding.num_embeddings <
self.decoder_prompt_encoder.id_offset +
self.decoder_prompt_encoder.length):
self.underlying_model.resize_token_embeddings(
self.decoder_prompt_encoder.id_offset+
self.decoder_prompt_encoder.length
)
self.decoder_prompt_encoder.dump_embedding(
self.decoder_original_embedding.weight)
解决方案
推荐阅读
- node.js - 同步杀死节点中的非子进程
- postgresql - 使用 https 在 openshift 上部署时 Keycloak 无效的重定向 URI
- azure - 从 Azure 中托管的 Kubernetes 访问 Traefik UI
- node.js - 我正在尝试在 Ubuntu 16.04 中安装 nginx,但出现有关语言环境设置的错误
- javascript - 如何显示二十一点牌的洗牌结果?
- android - 根据选定的星期几显示日期
- python-3.x - Apache - sqlite3.OperationalError:尝试写入只读数据库
- sql - 如果一条记录包含某个值,如何排除整个组?
- reactjs - 如何在 React 中多次将数据从父组件传递到子组件?
- python - Pandas 数据框中 R 的等效“代表”