TypeError: load() missing 1 required positional argument: ‘Loader‘?
生活随笔
收集整理的這篇文章主要介紹了
TypeError: load() missing 1 required positional argument: ‘Loader‘?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
TypeError: load() missing 1 required positional argument: ‘Loader‘?
問題描述
跑模型使用 yam 包l出現以下錯誤:
File "D:\document\pycharm_project\faster-rcnn.pytorch\lib\model\utils", line 374, in config.pyyaml_cfg = edict(yaml.load(f)) TypeError: load() missing 1 required positional argument: 'Loader'出錯描述:使用 yaml 包 時候報錯 TypeError: load() missing 1 required positional argument: ‘Loader‘?
出錯原因:請求API時候缺少參數
問題處理
這樣的調用API的問題處理肯定是因為版本問題,導致了一些API被廢棄,需要先查看版本,然后再決定,兩種方式:
- 降低指定包的版本,確定指定包版本有相關API即可
- 修改代碼(代碼修改之處不多的情況下)
1、查看yaml版本
如果是用的 conda ,直接 conda list 即可,可以看到 yaml 包的版本是 6.0。
Yaml 5.1版本之后就棄用了不安全的load加載方式,需要在load方法中加入指定的加載器,或者使用安全加載api, 通過默認加載器使load函數的安全得到加強。
2、問題處理
直接安裝指定版本下的 yaml 包即可
pip install pyyaml==5.1或者修改代碼,以下三條選一即可
yaml.load(file,Loader=yaml.FullLoader)yaml.safe_load(file)yaml.load(file, Loader=yaml.CLoader)再執行就不會報錯了
總結
以上是生活随笔為你收集整理的TypeError: load() missing 1 required positional argument: ‘Loader‘?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vivado入门之加法器的实现(从创建工
- 下一篇: AcWing 103. 电影(离散化 +