python / python/mypy

torch-nn-functional-mypy-bug-when-torchvision-installed

Aperta
#17,705 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

crash
Lingua principale
Python
Stelle
20.6k
Fork
3.3k
Metriche di merge delle PR
Metriche PR in attesa

Descrizione

description

mypy crashes on a file that imports torch.nn.functional when torchvision is installed in conjunction with --follow-imports=skip flag.

traceback

$ mypy --show-traceback --follow-imports=skip harmless.py
Traceback (most recent call last):
  File "/home/eytan/miniconda3/envs/mypy/bin/mypy", line 8, in <module>
    sys.exit(console_entry())
  File "/home/eytan/miniconda3/envs/mypy/lib/python3.10/site-packages/mypy/__main__.py", line 15, in console_entry
    main()
  File "mypy/main.py", line 103, in main
  File "mypy/main.py", line 187, in run_build
  File "mypy/build.py", line 193, in build
  File "mypy/build.py", line 268, in _build
  File "mypy/build.py", line 2950, in dispatch
  File "mypy/build.py", line 3348, in process_graph
  File "mypy/build.py", line 3475, in process_stale_scc
  File "mypy/build.py", line 2507, in write_cache
  File "mypy/build.py", line 1568, in write_cache
  File "mypy/nodes.py", line 390, in serialize
  File "mypy/nodes.py", line 4012, in serialize
  File "mypy/nodes.py", line 3949, in serialize
  File "mypy/nodes.py", line 3374, in serialize
  File "mypy/types.py", line 671, in serialize
  File "mypy/types.py", line 2428, in serialize
  File "mypy/types.py", line 1451, in serialize
  File "mypy/types.py", line 671, in serialize
  File "mypy/types.py", line 3093, in serialize
AssertionError: Internal error: unresolved placeholder type None

Minimal example repo with instructions

environment

  • OS: Ubuntu 22.04.4
  • miniconda: 24.5.0
  • mypy: 1.11.1

reproduced in:

  • Python: 3.10, 3.11, 3.12

full pip freezes in example repo

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dal repository di esempio minimo collegato ed esegui il comando mypy indicato usando --follow-imports=skip, con torch e torchvision installati. Segui il percorso di scrittura della cache indicato in mypy/build.py, mypy/nodes.py e mypy/types.py, quindi verifica che il comando venga completato senza l’asserzione di tipo del segnaposto non risolta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python, pytorch
Ambito
devtools
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.