今天打算在我自己的x230的本子上跑一下之前在别的机器上训练的语音模型。两个关键点,一个就是thinkPad x230的本子是没有独立显卡的,另外一个我想使用的这个ckpt文件(model文件)是使用GPU训练出的model;综合来说就是我用没有显卡的本子跑使用显卡训练出来的模型。然后出现了下面的错误提示:
UnicodeEncodeError: 'utf-8' codec can't encode character '\udcd5' in position 64: surrogates not allowed
在网上看了一些基本上都是说文件的路径的问题,不排除是因为文件路径的问题。windows下文件夹的路径使用“\\”隔开,Linux中使用“/”,我简单的理解为windows下需要转义一下,不能直接使用“/”;如果在windows中使用python的话,直接在文件路径前面加“r”,那么也可以直接使用“/”来隔开文件夹了。可是我的文件路径都是英文路径,仍然报这个错误。这也是很多新手都会犯的错误,将别人的模型拿过来直接用是有风险的。这里就是我前面提到的,原因是我用的是CPU跑GPU训练出来的模型。没有办法只有重新使用CPU训练模型或者用GPU来跑这个模型。如果模型不是很大很复杂,CPU能扛得住的话,在学习阶段建议还是可以跑一跑的。
如果有问题的话欢迎留言。