Alex
Alex
问题出现在Pytorch 1.7.1版本上,和PyQt5一起使用时就会出现这种情况,具体原因还在查,可能不会很快查出来甚至查不出来,但是可以提供几个解决方法: 1.使用1.8.1版本的pytorch,经测试,1.8.1版本是没有问题的 2.我看你应该是要部署yolo,如果是yolo v3-v9的模型,完全可以使用[Ultralytics Yolo](https://docs.ultralytics.com/)里给出的方法来部署,常见部署方法是使用onnx模型配合onnxruntime或者trt模型配合NVIDIA TensorRT部署,相比使用pytorch,速度和稳定性都有提升,而且yolo官方也提供了能在最新版本的torch上跑的模型,完全可以用更新的pytorch
还有,我注意到你貌似手动向Designer生成的文件里添加了如下语句: ```Python self.vBoxLayout = QVBoxLayout(self.widget) self.videoWidget = VideoWidget(self.widget) ``` 这也是不建议的,任何情况下都不要修改uic生成的文件。 其实你可以直接在Designer里完成这些操作的,然后直接提升控件就行
> > 问题出现在Pytorch 1.7.1版本上,和PyQt5一起使用时就会出现这种情况,具体原因还在查,可能不会很快查出来甚至查不出来,但是可以提供几个解决方法: 1.使用1.8.1版本的pytorch,经测试,1.8.1版本是没有问题的 2.我看你应该是要部署yolo,如果是yolo v3-v9的模型,完全可以使用[Ultralytics Yolo](https://docs.ultralytics.com/)里给出的方法来部署,常见部署方法是使用onnx模型配合onnxruntime或者trt模型配合NVIDIA TensorRT部署,相比使用pytorch,速度和稳定性都有提升,而且yolo官方也提供了能在最新版本的torch上跑的模型,完全可以用更新的pytorch > > 我已经卸载了虚拟环境中的pytorch,而且本质上(目前状态也是如此)如果我不接入yolo,根本就不需要调用pytorch模块,但是视频仍然无法正常播放。是因为cuda的问题吗 有可能 我等会看看
你试试看所有的模块中都不要导入pytorch模块,注意,所有关联的模块都不要导入,因为导入过程会执行一遍py文件 另外,能不能说一下你的调试过程: 1. 是直接用conda删除的pytorch吗 2. 删除后对于使用了yolo的模块是怎么处理的
在我的环境里,只要不导入pytorch就行,对于cpuonly版本也是一样的,其实我的想法应该是pytorch初始化了某些模块使用了qt的后端,比如PIL好像就有qt后端,所以可能是某些初始化设置导致的
> > 在我的环境里,只要不导入pytorch就行,对于cpuonly版本也是一样的,其实我的想法应该是pytorch初始化了某些模块使用了qt的后端,比如PIL好像就有qt后端,所以可能是某些初始化设置导致的 > > 我是卸载掉pytorch后运行的 那就奇怪了,我这里卸载掉pytorch之后就没问题了 然后一下是刚刚的一些发现 1. 尝试直接使用Qt的复现,是可以正常运行的,所以很奇怪 2. 根据测试,如果在使用自定义的`GraphicsVideoItem`,重载paint函数,设置混合模式为SourceAtop或者Difference都可以正常运行,说明和alpha通道有关系,具体的还没测试
> > 在我的环境里,只要不导入pytorch就行,对于cpuonly版本也是一样的,其实我的想法应该是pytorch初始化了某些模块使用了qt的后端,比如PIL好像就有qt后端,所以可能是某些初始化设置导致的 > > 我是卸载掉pytorch后运行的 你conda list打一下包,确定pytorch删干净了吗
那就不清楚具体情况了 我在正常环境无法复现该问题,唯一环境上差别是我是Windows10,不知道是不是这个原因
没有办法复现 请给出完整的代码 测试代码如下: ```Python from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * from qfluentwidgets import * from qfluentwidgets.window.fluent_window import FluentWindowBase languagelist = [f"{i}" for i in...
无法复现,相同代码运行正常