【实战】Tennis-Tracking 安装与运行完整教程(含 CUDA/TF 报错解决)
🎾【实战】Tennis-Tracking 安装与运行完整教程(含 CUDA/TF 报错解决)
本教程基于 tennis-tracking 项目,详细介绍从环境搭建、依赖安装到运行模型过程中的所有问题及解决方案,适用于 NVIDIA GPU 用户,特别是遇到 CUDA/TensorFlow 报错的情况。
✅ Step 1:克隆项目并创建 Conda 环境
git clone https://github.com/ArtLabss/tennis-tracking.git
conda create -n tc190cu102 python=3.7 -y
conda activate tc190cu102
✅ Step 2:安装 PyTorch(CUDA 11.1)
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
❗ 如果你使用的是 CUDA 10.2,可将
cu111
替换为cu102
。
✅ Step 3:安装依赖
pip install -r /root/tennis-tracking/requirements.txt
遇到缺失包,如:
ModuleNotFoundError: No module named 'imutils'
手动安装缺失包:
pip install imutils
✅ Step 4:解决 TensorFlow 报错
初始运行命令如下:
python3 predict_video.py --input_video_path=VideoInput/video_input3.mp4 --output_video_path=VideoOutput/video_output.mp4 --minimap=0 --bounce=0
出现报错:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Default MaxPoolingOp only supports NHWC on device type CPU
❗ 原因:
默认 TensorFlow CPU 版本不支持 NCHW 格式池化操作。
✅ 解决方法:
pip uninstall tensorflow
pip install tensorflow-gpu==2.6.0
✅ Step 5:如果仍出现 Keras 权重加载报错
错误信息如下:
AttributeError: 'str' object has no attribute 'decode'
解决方法:
pip install h5py==2.10 -i https://pypi.tuna.tsinghua.edu.cn/simple/
❌ 不推荐操作(避免)
不要使用以下命令:
pip install tensorflow-gpu==1.15
否则可能出现如下错误:
ImportError: cannot import name 'get_config' from 'tensorflow.python.eager.context'
✅ Step 6:最终运行命令(根据实际路径修改)
python3 predict_video.py \--input_video_path=/home/featurize/work/tennis-tracking/VideoInput/video_input3.mp4 \--output_video_path=/home/featurize/work/tennis-tracking/VideoOutput/video_output.mp4 \--minimap=0 \--bounce=0
🧩 附加建议:使用清华镜像加速
export PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
🎉 总结
问题类型 | 解决方案 |
---|---|
CUDA kernel image 报错 | 安装与显卡架构匹配的 torch+cuXXX 版本 |
imutils 找不到 | pip install imutils |
TensorFlow MaxPooling 错误 | 安装 tensorflow-gpu==2.6.0 ,避免默认 CPU 版本 |
权重加载 .decode 错误 | 降级 h5py 到 2.10 |
如果你在运行过程中遇到其他问题,欢迎留言交流 👍