我正在尝试在PyCharm中使用fastText
。每当我运行下面的代码时:
import fastText
model=fastText.train_unsupervised("data_parsed.txt")
model.save_model("model")
该进程出现以下错误:
Process finished with exit code -1073740791 (0xC0000409)
什么导致了这个错误,如何避免它?
您正在使用Windows系统吗?0xC0000409
表示堆栈缓冲区溢出,可参见此Windows帮助链接。
以下是从此链接中获取的一些建议,用于解决类似问题。
STATUS_STACK_BUFFER_OVERRUN是/GS异常。当Windows检测到“篡改”保护返回地址的安全cookie时,它们会被引发。很可能是您将某些内容写在了缓冲区的末尾,或者将某些内容写入指向错误位置的指针上。但也有可能存在一些不良内存或其他故障硬件触发了验证代码。
您可以尝试的一件事是禁用/GS开关(项目属性,查找C/C++ -> 代码生成 -> 缓冲区安全检查)并重新编译。再次运行代码可能会导致您可以捕获和跟踪的错误。我认为/GS是设计成不提供任何信息的,出于安全考虑。
您可以在不同的PC上按原样运行代码,看看是否失败,这可能指向硬件问题。
其他策略包括通过删除一些文本和运行一些文本规范化来减小训练文件的大小,以及减小词汇表的大小。