如何解决KeyError:python 中的“@”
\当我训练机器学习模型时,我得到 3 个 KeyError。但是我还没有找到原因。你知道如何避免这个错误吗?
def encode(sm_list,pad_size=50):
"""
Encoder list of smiles to tensor of tokens
"""
res = []
lens = []
for s in sm_list:
tokens = ([1] + [__t2i[tok]
for tok in smiles_tokenizer(s)])[:pad_size - 1] (the error line)
lens.append(len(tokens))
tokens += (pad_size - len(tokens)) * [2]
res.append(tokens)
return torch.tensor(res).long(),lens
def smiles_tokenizer(line,atoms=None):
if atoms is not None:
reg = get_tokenizer_re(atoms)
else:
reg = _atoms_re
return reg.split(line)[1::2]
和
__t2i = {
'>': 1,'<': 2,'2': 3,'F': 4,'Cl': 5,'N': 6,'[': 7,'6': 8,'O': 9,'c': 10,']': 11,'#': 12,'=': 13,'3': 14,')': 15,'4': 16,'-': 17,'n': 18,'o': 19,'5': 20}
我将函数用作
enc_out = self.enc.encode(x_batch)
它抛出错误:KeyError:"@",我做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。