问题描述
\当我训练机器学习模型时,我得到 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 (将#修改为@)