我正在尝试fastText
与 PyCharm 一起使用。每当我运行以下代码时:
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 上按原样运行代码,看看是否失败,如果没有,这可能表明硬件问题。
其他策略是通过删除一些文本来减小训练文件的大小,并通过运行一些文本规范化来减小词汇表的大小。