当前位置: 首页 > news >正文

【实战】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 错误降级 h5py2.10

如果你在运行过程中遇到其他问题,欢迎留言交流 👍


相关文章:

  • C++优先队列(priority_queue)使用详解
  • SQL 查询慢的常见原因分析
  • STL容器使用中的常见问题解析
  • 【调试】【原理理解】ldm 和 diffusers 库的区别
  • 院校机试刷题第十三天:代码随想录算法训练营第七天
  • VectorNet:自动驾驶中的向量魔法
  • fabric 是一个开源框架,用于使用 AI 增强人类能力。它提供了一个模块化框架,用于使用一组可在任何地方使用的众包人工智能提示来解决特定问题
  • 关于CSDN和Github的操作
  • 安卓证书的申请(保姆级图文)
  • 基于递归思想的系统架构图自动化生成实践
  • 电子信息科学与技术专业生涯规划书-嵌入式方向(大一下)
  • 计算机组成原理:IEEE 754标准
  • Linux Shell 切换
  • 建筑八大员劳务员考试题及答案解析
  • 今日行情明日机会——20250527
  • 3.8.4 利用RDD实现分组排行榜
  • 国产化Word处理控件Spire.Doc教程:在 C# 中打印 Word 文档终极指南
  • C-自定义类型
  • 机器学习知识体系:从“找规律”到“做决策”的全过程解析
  • YoloV11改进策略:卷积篇-风车卷积-即插即用
  • 校园类网站建设/网站内容seo
  • 临猗做网站/宁波seo优化排名
  • 会建网站的人/91永久免费海外地域网名
  • 引流软件下载站/百度收录提交工具
  • 网站优化一般怎么做/关键词搜索爱站网
  • 深圳营销网站建设公司哪家好/黑帽seo培训大神