在GPU上运行hugging face transformer的时候出现如下报错:
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasLtMatmul( ltHandle, computeDesc.descriptor(), &alpha_val, mat1_ptr, Adesc.descriptor(), mat2_ptr, Bdesc.descriptor(), &beta_val, result_ptr, Cdesc.descriptor(), result_ptr, Cdesc.descriptor(), &heuristicResult.algo, workspace.data_ptr(), workspaceSize, at::cuda::getCurrentCUDAStream())`
切换至cpu之后,报错:
-> 1724 return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
1725
1726
IndexError: index out of range in self
根据cpu上的报错内容,判断为模型输入太长,超过了模型的embedding最大尺寸,可以在tokenizer设置max_len
来进行截断(truncation)。
batch = tokenizer([input_text],truncation=True,padding='longest',
max_length=max_length, return_tensors="pt").to(torch_device)
由于GPU上的报错一般都比较抽象,建议先在cpu上debug。有可能你的GPU报错和我的一样,但是cpu报错不同,也就是实际导致错误的原因是不一样的。文章来源:https://www.toymoban.com/news/detail-631500.html
参考:
IndexError: index out of range in self #5611文章来源地址https://www.toymoban.com/news/detail-631500.html
到了这里,关于【报错】RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasLtMatmul( ltHandle,的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!