UnicodeDecodeError: 'ascii' コーデックは、python3.6でポジション0のバイト0xe9をデコードできないことに対する解決策です。
2022-02-19 03:58:19
BixiはKaiyangZhouの深層歩行者再識別プログラムを実行しており、様々な深層ネットワークと損失関数へのインターフェースを提供しているため、様々な組み合わせで歩行者再識別を簡単に実装することができます。
テストでは、コマンドラインで入力しました。
python train_img_model_xent.py -d market1501 -a resnet50 --evaluate --resume saved-models/resnet50_xent_market1501.pth.tar --save-dir log/ resnet50-xent-market1501 --test-batch 32
エラーの報告
Traceback (most recent call last):
File "train_img_model_xent.py", line 251, in <module>
main()
File "train_img_model_xent.py", line 136, in main
checkpoint = torch.load(args.resume)
File "C:\Users\Liang\Anaconda3\lib\site-packages\torch\serialization.py", line 268, in load
return _load(f, map_location, pickle_module)
File "C:\Users\Liang\Anaconda3\lib\site-packages\torch\serialization.py", line 421, in _load
result = unpickler.load()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)
ソースファイルを見ると、エラーコードのスニペットは次のようになっていますね。
_sys_info = pickle_module.load(f)
unpickler = pickle_module.Unpickler(f)
unpickler.persistent_load = persistent_load
result = unpickler.load()
いくつかの実験の後、コードを変更して
_sys_info = pickle_module.load(f, encoding='iso-8859-1')
unpickler = pickle_module.Unpickler(f, encoding='iso-8859-1')
unpickler.persistent_load = persistent_load
result = unpickler.load()
問題は解決され、エラーは報告されません。
また、ネット上のブログを照会する問題解決クエストでは、コーディングの問題だという意見が多く見受けられました:。 "です。 Pythonはエンコーディング方式間の変換を行う際に、"中間エンコーディング"としてunicodeを使用しますが、unicodeは最大でも128しかないので、asciエンコーディングの文字列を"中間エンコーディング" unicodeに変換しようとして、その範囲外になってしまうと上記のようにエラーが報告されるのです。 "です。
<スパン 一方、ウェブ上の多くのソリューションは、以下のコードでpythonファイルをプレフィックスしています。
import sys
defaultencoding = 'utf-8'
if sys.getdefaultencoding() ! = defaultencoding:
reload(sys)
sys.setdefaultencoding(defaultencoding)
テストした結果、この方法は python 2.7 でのみ動作し、python 3 では動作しないことがわかりました。
変更点の詳細については クリックするとリンクが開きます
関連
-
[解決済み] モジュールに属性がない
-
[解決済み】BeautifulSoupでscriptタグを削除することは可能ですか?
-
[解決済み】AttributeError: pandasのnp.object_d型を使用する文字列値では、.strアクセサしか使用できない
-
[解決済み】WindowsでコマンドラインからJupyterを実行する
-
[解決済み】エラー「ERROR: pipを使用してdjango-herokuをインストールしようとすると、「Command errored out with exit status 1: python.
-
[解決済み] NumPyの配列はJSONシリアライザブルではない
-
[解決済み] Matplotlib でグリッド間隔を変更し、目盛りラベルを指定する
-
[解決済み] startswith TypeError in function
-
[解決済み] IOError: [Errno 22] invalid mode ('r') or filename: 'c:\Python27╱test.txt' [duplicate].
-
[解決済み] django.core という名前のモジュールがありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】RuntimeWarning: double_scalars で無効な値が発生した場合の numpy の除算について
-
[解決済み】PyCharmで環境変数を設定する方法は?
-
[解決済み] 変動係数とNumPy
-
[解決済み] ModuleNotFoundError: win32serviceutil' という名前のモジュールはありません。
-
[解決済み] 値でリストをグループ化する
-
[解決済み] scikit-learn の TfidfVectorizer 。ValueError: np.nan は無効なドキュメントである。
-
[解決済み] Celery 登録されていないタイプのタスクを受信した(実行例)
-
'datetime.datetime' に 'datetime' という属性がない問題
-
NameError:名前 'xrange' が定義されていません。
-
AttributeError: 'str' オブジェクトに 'get' 属性がない。