TabError- inconsistent use of tabs and spaces in indentation 查验及解决方法
生活随笔
收集整理的這篇文章主要介紹了
TabError- inconsistent use of tabs and spaces in indentation 查验及解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
TabError: inconsistent use of tabs and spaces in indentation 查驗及解決方法
報錯代碼
def eccv16(pretrained=True):model = ECCVGenerator()if(pretrained):import torch.utils.model_zoo as model_zoomodel.load_state_dict(torch.load('/home/ps/.cache/torch/hub/checkpoints/colorization_release_v2-9b330a0b.pth', map_location='cpu'))# model.load_state_dict(model_zoo.load_url('https://colorizers.s3.us-east-2.amazonaws.com/colorization_release_v2-9b330a0b.pth',map_location='cpu',check_hash=True))return model代碼來自github上colorization自監督學習倉庫,筆者使用的編輯器是VS Code,注釋起來的一句是原文,注釋上面的一句是筆者自己添加的,報錯正是來自這一句:
File "/home/ps/JJ_Projects/ssl_transformer_aes/ssl_related/colorization-master/colorizers/eccv16.py", line 105model.load_state_dict(torch.load('/home/ps/.cache/torch/hub/checkpoints/colorization_release_v2-9b330a0b.pth', map_location='cpu'))^ TabError: inconsistent use of tabs and spaces in indentation可以看到報錯信息大概是說tab和space的縮進不一致,但是我們肉眼明明看到縮進是正常對齊的。筆者猜測報錯的原因是,原來代碼的作者和筆者修改時的編輯器、縮進方式的設置是不一樣的。網上查到的解決方法都是將正常不報錯的地方的代碼前的縮進復制過來。但是這是為什么呢,我們怎么能在報錯之前看到哪一行的縮進有問題呢?
查驗及解決方法
筆者想到,如果用一種統一的顯示方式是否就能看出縮進方式的不同了,因此想到在命令行中輸出打印文件內容。
如何查驗
我們在命令行使用cat colorizers/eccv16.py命令來查看文件內容:
果不其然,確實是我們自己寫的(即報錯)行的縮進和其他行是不一致的,雖然在VS Code編輯器中查看時二者是對齊的。
解決方法
那我們先按照網上的解決方法試一試,即將正常不報錯的地方的代碼前的縮進復制過來,再cat顯示文件:
注意,我們將正??s進復制過來之后,在編輯器中還是對齊的正常的縮進,在cat的結果中,也是對齊的了,那這樣就是正常的代碼了。這正是網上流傳的這種方法能夠解決問題的原因。
總結
以上是生活随笔為你收集整理的TabError- inconsistent use of tabs and spaces in indentation 查验及解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 零点有数目标价 甚至有人看到百元以上
- 下一篇: 宝妈兼职工作 正在寻找赚钱机会的别错过