Project-MONAI / Project-MONAI/MONAI
ResourceWarning: Implicitly cleaning up
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 8.7k
- Fork
- 1.6k
- Merge medio
- 5g 1h
- PR unite (30g)
- 20
Descrizione
Describe the bug
warning message from
python -W error -c "import monai"
with pytorch 2.0
Traceback (most recent call last):
File "/usr/local/anaconda3/envs/py38/lib/python3.8/weakref.py", line 642, in _exitfunc
f()
File "/usr/local/anaconda3/envs/py38/lib/python3.8/weakref.py", line 566, in __call__
return info.func(*info.args, **(info.kwargs or {}))
File "/usr/local/anaconda3/envs/py38/lib/python3.8/tempfile.py", line 818, in _cleanup
_warnings.warn(warn_message, ResourceWarning)
ResourceWarning: Implicitly cleaning up <TemporaryDirectory '/var/folders/6f/fdkl7m0x7sz3nj_t7p3ccgz00000gp/T/tmpqtvvcx_b'>
debugging further looks like it's triggered via importing pytorch ignite
/usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/ignite/handlers/checkpoint.py(17)<module>()
-> from torch.distributed.optim import ZeroRedundancyOptimizer
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(975)_find_and_load_unlocked()
<frozen importlib._bootstrap>(671)_load_unlocked()
<frozen importlib._bootstrap_external>(843)exec_module()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
/usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/torch/distributed/optim/__init__.py(20)<module>()
-> from .named_optimizer import _NamedOptimizer
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(975)_find_and_load_unlocked()
<frozen importlib._bootstrap>(671)_load_unlocked()
<frozen importlib._bootstrap_external>(843)exec_module()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
/usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/torch/distributed/optim/named_optimizer.py(10)<module>()
-> from torch.distributed._shard.sharded_tensor import ShardedTensor
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(961)_find_and_load_unlocked()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(975)_find_and_load_unlocked()
<frozen importlib._bootstrap>(671)_load_unlocked()
<frozen importlib._bootstrap_external>(843)exec_module()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
/usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/torch/distributed/_shard/__init__.py(1)<module>()
-> from .api import (
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(975)_find_and_load_unlocked()
<frozen importlib._bootstrap>(671)_load_unlocked()
<frozen importlib._bootstrap_external>(843)exec_module()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
/usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/torch/distributed/_shard/api.py(6)<module>()
-> from torch.distributed._shard.sharded_tensor import (
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(975)_find_and_load_unlocked()
<frozen importlib._bootstrap>(671)_load_unlocked()
<frozen importlib._bootstrap_external>(843)exec_module()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
/usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/torch/distributed/_shard/sharded_tensor/__init__.py(9)<module>()
-> from torch.distributed._shard.partial_tensor import _PartialTensor
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(975)_find_and_load_unlocked()
<frozen importlib._bootstrap>(671)_load_unlocked()
<frozen importlib._bootstrap_external>(843)exec_module()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
/usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/torch/distributed/_shard/partial_tensor.py(8)<module>()
-> from torch.distributed.nn.functional import (
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(961)_find_and_load_unlocked()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(975)_find_and_load_unlocked()
<frozen importlib._bootstrap>(671)_load_unlocked()
<frozen importlib._bootstrap_external>(843)exec_module()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
/usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/torch/distributed/nn/__init__.py(3)<module>()
-> from .api.remote_module import RemoteModule
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(975)_find_and_load_unlocked()
<frozen importlib._bootstrap>(671)_load_unlocked()
<frozen importlib._bootstrap_external>(843)exec_module()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
/usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/torch/distributed/nn/api/remote_module.py(24)<module>()
-> from torch.distributed.nn.jit import instantiator
<frozen importlib._bootstrap>(1042)_handle_fromlist()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
<frozen importlib._bootstrap>(991)_find_and_load()
<frozen importlib._bootstrap>(975)_find_and_load_unlocked()
<frozen importlib._bootstrap>(671)_load_unlocked()
<frozen importlib._bootstrap_external>(843)exec_module()
<frozen importlib._bootstrap>(219)_call_with_frames_removed()
/usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/torch/distributed/nn/jit/instantiator.py(19)<module>()
-> _TEMP_DIR = tempfile.TemporaryDirectory()
/usr/local/anaconda3/envs/py38/lib/python3.8/tempfile.py(781)__init__()
-> self._finalizer = _weakref.finalize(
> /usr/local/anaconda3/envs/py38/lib/python3.8/weakref.py(519)__init__()
-> if len(args) >= 3:
(fyi @vfdev-5 )
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riprodurre l’avviso con python -W error -c "import monai" e ispezionare la catena di importazione attraverso PyTorch Ignite fino a torch.distributed.nn.jit.instantiator.py, dove viene creata la directory temporanea. Identificare se MONAI può evitare di attivare l’avviso di pulizia; il lavoro è completato quando l’importazione non produce più la ResourceWarning segnalata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python, pytorch
- Ambito
- machine-learning
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100