4

我正在尝试fastText与 PyCharm 一起使用。每当我运行以下代码时:

import fastText

model=fastText.train_unsupervised("data_parsed.txt")

model.save_model("model")

进程退出并出现以下错误:

Process finished with exit code -1073740791 (0xC0000409)

是什么导致了这个错误,可以做些什么来避免它?

4

1 回答 1

12

你用的是windows系统吗?0xC0000409表示堆栈缓冲区溢出,如此 Windows 帮助链接中所示。

以下是从该链接中获取的一些建议,用于解决类似类型的问题。

STATUS_STACK_BUFFER_OVERRUN 是 /GS 异常。当 Windows 检测到保护返回地址的安全 cookie 被“篡改”时,它们就会被抛出。您可能正在写入超出缓冲区末尾的内容,或者将内容写入指向错误位置的指针。但是,您也可能有一些不可靠的内存或其他有故障的硬件会触发验证代码。

您可以尝试的一件事是禁用 /GS 开关(项目属性,查找 C/C++ -> 代码生成 -> 缓冲区安全检查)并重新编译。再次运行代码很可能会导致您可以捕获和跟踪的错误。我认为 /GS 旨在出于安全原因不向您提供任何信息。

您可以做的另一件事是在另一台 PC 上按原样运行代码,看看是否失败,如果没有,这可能表明硬件问题。

其他策略是通过删除一些文本来减小训练文件的大小,并通过运行一些文本规范化来减小词汇表的大小。

于 2018-05-29T04:18:40.340 回答