测试的时候,卡住不动了。
the-cat-crying opened this issue · 12 comments
有没有什么报错信息? 就只是卡住了吗?
就是没有报错误信息,就是卡住不动,只能强行KILL。好像是数据加载哪里的问题,单张测试没得问题。
如果单卡测试没问题, 多卡测试有问题, 那可能和 ddp 有关. 因为 ZEB 测试的数据量有点大, 我用 Pytorch Lightning 写, 使其可以多机多卡测试.
可能没太表述清楚,就是使用你给的demo.py推理可以,就是使用“python test.py --gpus 1 --weight gim_lightlue --versiong 100h --test --batch_size 16 --tests SceneNet”命令就不行了,卡住不动,也是使用的单卡,不知道是不是torch版本问题,
我的环境:
absl-py 2.1.0
aiohttp 3.9.5
aiosignal 1.3.1
albumentations 1.0.1
antlr4-python3-runtime 4.9.3
async-timeout 4.0.3
attrs 23.2.0
certifi 2024.7.4
charset-normalizer 3.3.2
contourpy 1.2.1
cycler 0.12.1
einops 0.3.0
fonttools 4.53.1
frozenlist 1.4.1
fsspec 2024.6.1
future 1.0.0
grpcio 1.65.1
h5py 3.11.0
idna 3.7
imageio 2.34.2
imagesize 1.2.0
joblib 1.0.1
kiwisolver 1.4.5
kornia 0.6.10
lazy_loader 0.4
lightning-utilities 0.11.6
loguru 0.5.3
Markdown 3.6
MarkupSafe 2.1.5
matplotlib 3.7.5
multidict 6.0.5
networkx 3.3
numpy 1.24.0
omegaconf 2.3.0
opencv-python-headless 4.10.0.84
packaging 24.1
pillow 10.4.0
pip 24.0
protobuf 4.25.4
pyDeprecate 0.3.1
pyparsing 3.1.2
python-dateutil 2.9.0.post0
pytorch-lightning 1.5.10
PyYAML 6.0.1
requests 2.32.3
scikit-image 0.24.0
scipy 1.14.0
setuptools 59.5.0
six 1.16.0
tensorboard 2.17.0
tensorboard-data-server 0.7.2
tifffile 2024.7.24
torch 1.11.0+cu113
torchaudio 0.11.0+cu113
torchmetrics 1.4.0.post0
torchvision 0.12.0+cu113
tqdm 4.66.4
typing_extensions 4.12.2
urllib3 2.2.2
Werkzeug 3.0.3
wheel 0.43.0
yacs 0.1.8
yarl 1.9.4
Torch 的版本要麻烦你去和我 README 里写的核对一下
因为 demo.py 是单纯的推理, 所以我没用 Pytorch Lightning
而 test.py 是用 Pytorch Lightning 写的
所以, 可能是 ddp 相关的设置问题
如果涉及版本兼容性的话, 需要注意的是 Pytorch Lightning 的版本必须是我指定的 1.5.3 这个版本
因为我一直是用的这个版本, 其他版本我不保证接口什么的发生了什么变化
我把工作空间--threads设置为0就可以工作了
出现了这种Warning:/work/zhoup/conda_env/gim/lib/python3.10/site-packages/pytorch_lightning/trainer/data_loading.py:111: UserWarning: The dataloader, test_dataloader 0, does not have many workers which may be a bottleneck. Consider increasing the value of the num_workers
argument(try 48 which is the number of cpus on this machine) in the
DataLoader` init to improve performance.
看到一个类似的问题https://github.com/IDEA-CCNL/Fengshenbang-LM/issues/123
跟目前的问题很多相似,希望大佬可以帮我指点指点
这个 UserWarning 你不用管它, 它是 Pytorch Lightning 提醒你说, num_workers (就是你刚刚设置的--threads) 你设为了 0, 如果这个参数设为 0, dataloader 就只会在主进程里面进行数据读取, 所以 Pytorch Lightning 提醒你这有可能会成为运行的速度瓶颈. 因为如果读取数据的速度慢了, 可能显卡要等数据读进显卡才能进行预测.
如果你将 --threads 设为为 3 或者 8, 数据读取就会开 3 个或者 8 个子线程进行读取, 速度一般来说会比在主线程里读快一些.
不过, 你说只有 --threads 设置为 0 的时候才可以正常运行, 那你就设置为 0 吧, 慢点就慢点吧.
是的,大佬,能工作就是,所有我感觉还是dataloader哪里多线程还是有点问题,之前也遇到过,num_workers设置问题。
大佬可以用Hug个ingFace的Trainer的试一试不?我看这个https://github.com/IDEA-CCNL/Fengshenbang-LM/issues/123说是解决了。
我这边跑的时候 num_workers 没啥问题的, 可能你还是环境和配置的关系. 因为我在很多台服务器重新配置过环境, 然后我运行 Pytorch Lightning 框架写的代码, 都没遇到 num_workers 出现啥问题.
确实,也有可能就是我的服务器环境问题,反正work就行。
感谢,gim_dkm的权重有百度云盘或者其他的么?google的上不去得要梯子。
我传了一份到 OneDrive, 这个国内应该可以直接访问.
好的,非常感谢大佬。