Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

错误似乎是在尝试使用skvideo库的ffmpeg模块写入视频帧时发生的。具体来说,您遇到了一个BrokenPipeError,这通常意味着子进程(在这种情况下是ffmpeg)在父进程尝试写入数据时已经终止或崩溃 #69

Open
HuangLiyulu opened this issue Oct 4, 2023 · 1 comment

Comments

@HuangLiyulu
Copy link

distributed_backend=nccl
All distributed processes registered. Starting with 1 processes

You are using a CUDA device ('NVIDIA GeForce RTX 3090') that has Tensor Cores. To properly utilize them, you should set torch.set_float32_matmul_precision('medium' | 'high') which will trade-off precision for performance. For more details, read https://pytorch.org/docs/stable/generated/torch.set_float32_matmul_precision.html#torch.set_float32_matmul_precision
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/torch/utils/tensorboard/init.py:4: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
if not hasattr(tensorboard, "version") or LooseVersion(
/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/torch/utils/tensorboard/init.py:6: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
) < LooseVersion("1.15"):
Testing DataLoader 0: 1%|█▋ | 1/99 [00:00<00:16, 6.08it/s]/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/skvideo/io/ffmpeg.py:466: DeprecationWarning: tostring() is deprecated. Use tobytes() instead.
self._proc.stdin.write(vid.tostring())
Traceback (most recent call last):
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/skvideo/io/ffmpeg.py", line 466, in writeFrame
self._proc.stdin.write(vid.tostring())
BrokenPipeError: [Errno 32] Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/root/autodl-tmp/CoDeF/train.py", line 557, in
main(hparams)
File "/root/autodl-tmp/CoDeF/train.py", line 550, in main
trainer.test(system, dataloaders=system.test_dataloader())
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 706, in test
return call._call_and_handle_interrupt(
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py", line 42, in _call_and_handle_interrupt
return trainer.strategy.launcher.launch(trainer_fn, *args, trainer=trainer, **kwargs)
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/strategies/launchers/subprocess_script.py", line 92, in launch
return function(*args, **kwargs)
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 749, in _test_impl
results = self._run(model, ckpt_path=ckpt_path)
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 935, in _run
results = self._run_stage()
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 971, in _run_stage
return self._evaluation_loop.run()
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/loops/utilities.py", line 177, in _decorator
return loop_run(self, *args, **kwargs)
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 115, in run
self._evaluation_step(batch, batch_idx, dataloader_idx)
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 375, in _evaluation_step
output = call._call_strategy_hook(trainer, hook_name, *step_kwargs.values())
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py", line 288, in _call_strategy_hook
output = fn(*args, **kwargs)
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/pytorch_lightning/strategies/ddp.py", line 348, in test_step
return self.model.test_step(*args, **kwargs)
File "/root/autodl-tmp/CoDeF/train.py", line 489, in test_step
self.video_visualizer.add(img)
File "/root/autodl-tmp/CoDeF/utils/video_visualizer.py", line 95, in add
self.video.writeFrame(frame)
File "/root/miniconda3/envs/CoDeF/lib/python3.10/site-packages/skvideo/io/ffmpeg.py", line 471, in writeFrame
raise IOError(msg)
OSError: [Errno 32] Broken pipe

FFMPEG COMMAND:
/usr/local/bin/ffmpeg -y -f rawvideo -pix_fmt rgb24 -s 540x960 -i - -r 30.00 -s 540x960 -vcodec libx264 -crf 1 -pix_fmt yuv420p /root/autodl-tmp/CoDeF/results/all_sequences/scene_0/base/scene_0_base.mp4

FFMPEG STDERR OUTPUT:

Testing DataLoader 0: 1%| | 1/99 [00:00<00:54, 1.80it/s]
(CoDeF) root@autodl-container-495811b6ae-4fe7c681:/autodl-tmp/CoDeF# ffmpeg
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1
20.04.1)
configuration:
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

@HuangLiyulu
Copy link
Author

自己在云端搭建的环境PyTorch 1.11.0
Python 3.8(ubuntu20.04)
Cuda 11.3 conda create -y -n CoDeF python=3.10 conda install -y pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia wget https://ffmpeg.org/releases/ffmpeg-5.1.2.tar.gz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant