Project-MONAI / Project-MONAI/MONAI
ResourceWarning: Implicitly cleaning up
未关闭
还没有人认领这个 Issue。
bug
- 主要语言
- Python
- 星标
- 8.7k
- 派生
- 1.6k
- 平均合并
- 5 天 1 小时
- 30 天内合并 PR
- 20
描述
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 )
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
使用 python -W error -c "import monai" 重现警告,并检查经过 PyTorch Ignite 到 torch.distributed.nn.jit.instantiator.py 的导入链,其中会创建临时目录。确定 MONAI 是否可以避免触发清理警告;完成标准是导入不再产生所报告的 ResourceWarning。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python, pytorch
- 领域
- machine-learning
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100