成功解决absl.flags._exceptions.UnparsedFlagAccessError: Trying to access flag --preserve_unused_tokens before flags were parsed.
之前用的python3.6.2版本,没有遇到此类报错,后来放在服务器上跑的时候,报出了上面的错误,一开始我以为,是因为操作系统导致的一些问题,看了这篇博客:
问题解决:关于absl.flags的UnparsedFlagAccessError报错_柳橙酱的博客-CSDN博客
主要解决方法(一):
在报错提示中的如下文件中有这样问题:
进入该文件,有这样一句代码:
按照上面提到的那篇博客中的方法,替换为如下语句:
便可以成功解决上诉报错问题,我感觉该解决方式在absl.flags._exceptions.UnparsedFlagAccessError此类报错中比较通用。
我之后该程序(未进行上诉改动),放在了原先笔记本上重新跑的时候又出现了此类报错,我发现问题并不是出在操作系统上面,而是python的版本上面,这也是针对上述报错的另一种解决的手段。
主要解决方法(二):
服务器上装的是python3.6.13,至于我的笔记本,之前装的是python3.6.2,后面因为在装TFF的包的时候,出现了一系列问题,使得原有的装有python3.6.2的conda虚拟环境崩了,所以重建了一个环境后,虽然依旧是python3.6,但是版本号变成了python3.6.13。
所以我认为,将版本号重新降回之前较低的py3.6版本,上述报错应该也会解决,但是这种方法我没有试过,只是理论可行,所以建议大家出现以上报错时,首先使用第一种方法,如果不行,上其他地方看看有没有其他解决思路,如果实在没办法,那就去尝试一下方法2,有可能会有意料之外的结果。