如何通过优化 Python 中的 GPU 使用率将视频处理速度提高 5 倍(教程含源码)
2023-09-11 14:18:29 时间
我们这些 ML 领域的人都熟悉采用很酷的算法并使其做好生产准备的困难。在 Lightricks 研究基础架构团队,我们的工作是推动 Lightricks 研究部门完成的开创性工作并使其运行得更快,以便我们的用户能够享受到最佳的用户体验。
我们的一些用例涉及处理视频,因此能够有效地解码和预处理它们成为一项重要任务。在这篇博文中,我将展示我们如何将视频的解码和预处理速度提高 5 倍,同时利用 GPU 惊人的并行处理能力,同时保持代码简单且易于维护。
我开始与一支优秀的研究人员团队合作,研究在云中处理的视频功能,并发现现有的加载和预处理视频的方式运行良好。代码接收到文件的路径,在循环中逐帧读取它,根据一些预定义的配置调整帧的大小,并返回下采样帧的列表。
它看起来像这样:
import imageio as io
VIDEO_PATH = "vid_10sec_3584x2240.mp4"
IMAGE_SIZE_LOW =(96, 192)
def preprocess_video(video_path, image_size_low):
frames_low = []
for image in io.imiter(video_path):
# Resize in a few iterations using cv2
image_low = resize_frame(image, image_size_low)
frames_low.append(image_low)
return frames_low
print("Preprocessing on CPU...")
s = time.time()
frames = preprocess_video(video_path=VIDEO_PATH, image_size_low=IMAGE_SIZE_LOW)
相关文章
- python中进制转换
- 用python爬取全网妹子图片【附源码笔记】
- python获取字符串的前几个字符(包含汉字)
- Python操作Mysql实例代码教程在线版(查询手册)_python
- Python:更改默认启动的python程序及其对应的安装包路径(更改pip的默认安装包的路径)图文教程之详细攻略
- Python:利用python编程将上海十六区,2020年5月份房价实时地图(数据来源房天下)进行柱状图、热图可视化
- Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)—从而实现Python编程图文教程之详细攻略
- Python发送微信消息(文字、图片、文件)给指定好友和微信群,零基础可看懂(附源码和教程)
- python微信机器人制作教程+源码
- 使用Python和Perl绘制北京跑步地图
- 【华为机试真题 Python实现】检查是否存在满足条件的数字组合
- Python: yield, python 实现tail -f
- 因子分解机 Factorization Machine python 源码
- python web py入门(61)- jQuery - 使用keyup()和keydown()函数
- Python爬虫之pyppeteer的使用(爬虫、获取cookie、截屏插件、防爬绕过)
- Python基于OpenCV的异常行为检测系统[源码&部署教程]
- Python基于OpenCV的土壤裂缝分割系统[源码&部署教程]
- Python基于OpenCV的视频车道线检测系统[源码&部署教程]
- Python基于OpenCV的工作疲劳检测系统[源码&UI界面&部署教程]
- Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]
- Python&Opencv基于CNN手势识别玩恐龙跳小游戏(完整源码&自定义UI操作界面&视频教程)
- Python基于OpenCV的实时疲劳检测[源码&演示视频&部署教程]
- 从零开始,学会Python爬虫不再难!!! -- (6)项目二:获取腾讯校招数据丨蓄力计划