一、pycharm导包的时候提示Unresolved reference
问题描述:在导入模块部分的时候出现了错误,写一个外部模块导入的时候居然提示unresolved reference,但是程序能正常运行没有什么问题,就是提示包部分下划线是红色,让人看着很不舒服,总感觉是不是程序出现错误了,下面给出了相应的解决方案
解决方案:选择工程文件的根目录(项目上) 单击右键 -> Mark Directory as,然后找到Sources Root,选中即可。
二、Downloading https://ultralytics.com/assets/Arial.ttf to …ubuntu18.4-YOLOv5报错[01]
问题描述:运行时会出该行,表示缺少Arial.ttf字体,需要下载,但因为网络问题无法下载时,会出现连接主机时间过长无响应的问题
解决方案:在文件yolov5/utils/plots.py中,以下代码中:
class Annotator:
if RANK in (-1, 0):
check_font() # download TTF if necessary
# YOLOv5 Annotator for train/val mosaics and jpgs and detect/hub inference annotations
def __init__(self, im, line_width=None, font_size=None, font='Arial.ttf', pil=False, example='abc'):
改为
class Annotator:
#if RANK in (-1, 0):
#check_font() # download TTF if necessary
# YOLOv5 Annotator for train/val mosaics and jpgs and detect/hub inference annotations
def __init__(self, im, line_width=None, font_size=None, font='', pil=False, example='abc'):
将代码注释掉即可!
三、AssertionError: CUDA unavailable, invalid device 0 requested
这个报错是指代码要运行CUDA,但是没运行起来。
解决办法有两种。1.运行CUDA。2.不运行CUDA。
我选择不运行CUDA,因为我的web部署只用来识别图片不用来运行,解决方案如下:
点击 .\torch_utils.py 文件,传送到下图:
def select_device(device='', batch_size=None):
# device = 'cpu' or '0' or '0,1,2,3'
s = f'YOLOv5 {git_describe() or date_modified()} torch {torch.__version__} ' # string
device = str(device).strip().lower().replace('cuda:', '') # to string, 'cuda:0' to '0'
cpu = device == 'cpu'
if cpu:
os.environ['CUDA_VISIBLE_DEVICES'] = '-1' # force torch.cuda.is_available() = False
elif device: # non-cpu device requested
os.environ['CUDA_VISIBLE_DEVICES'] = device # set environment variable
assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested' # check availability
将最后一行的assert代码注释掉,即可解决报错!
改为:
def select_device(device='', batch_size=None):
# device = 'cpu' or '0' or '0,1,2,3'
s = f'YOLOv5 {git_describe() or date_modified()} torch {torch.__version__} ' # string
device = str(device).strip().lower().replace('cuda:', '') # to string, 'cuda:0' to '0'
cpu = device == 'cpu'
if cpu:
os.environ['CUDA_VISIBLE_DEVICES'] = '-1' # force torch.cuda.is_available() = False
elif device: # non-cpu device requested
os.environ['CUDA_VISIBLE_DEVICES'] = device # set environment variable
# assert torch.cuda.is_available(), f'CUDA unavailable, invalid device {device} requested' # check availability
四、Git不装并不影响运行,不用担心!!!!
Git不装并不影响运行,不用担心!!!!
Git不装并不影响运行,不用担心!!!!
五、error: Microsoft Visual C++ 14.0 is required问题解法
这个一般是在装pycocotools出现的问题,最后一行的报错为ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based projects
原因:电脑缺乏C语言编译环境,我们使用的Python都是基于C语言的,又叫Cpython,所以在安装一些包时,需要C语言环境。
解决方案;
点进去官方给出的 'Get it with Microsoft Visual C++ Build Tools…'后面的网址 https://visualstudio.microsoft.com/visual-cpp-build-tools/。
进入网站后点击图片所指的位置
2.下载完成后运行安装包,进入安装选择界面,选择图片中勾选的两项
安装完成后,报错即可解决!!!!
六、YOLOv5报错:AttributeError: ‘Upsample’ object has no attribute ‘recompute_scale_factor’
原因:出现该报错的原因是pytorch版本较高,不匹配,需要降版本!
解决方案:将pytorch版本降为1.9.0,torchvision版本降为0.10.0,torchaudio版本降为0.9.0
可在该网站查询所有Python安装包的历史版本 https://pypi.org/
七、Pycharm anaconda中使用base环境
在anaconda中,我们可以创建虚拟环境,但有的时候,因为没有切换环境,导致安装包全部装在了base环境中,为了方便,我们可以把运行环境切换为base,具体方法如下:
1.进入编译器,看右下角,点击图片方框中的位置
2.点击后选择方框标注的位置
3.按照图中标号顺序,先选择conda环境,再选择已存在的编译环境
4.选择anaconda目录中最外面的python.exe,这个编译器对应base,其他子文件夹的python.exe对应其他自己建的虚拟环境
5.设置完成后,即可发现环境被设立为base!
八、pip卸载安装的依赖包时报错!
如果在pycharm中,使用pip uninstall xxx时,无法将包卸载并报错时,我们选择在anaconda命令行中进行卸载。
进入后输入命令conda uninstall xxx(你要卸载的包的名字),进行卸载即可!!!!
九、连接测试时的相关问题!
当你将程序的前端与后端都运行起来时,可以开始进行测试
如果发现自己的前端页面只能用127.0.0.1(localhost)+端口访问,甚至不能用自己设置的以太网IP访问时,请修改app运行的host与port(设置为0.0.0.0意思是同一局域网下的所有设备都能访问该网站)
2.当你配置完app.run的host、port以及ngnix,一般来说在本地电脑使用自己设置的IP+端口就可以访问前端并正常使用了,此时你换一台与本地电脑同处一个局域网的电脑,使用之前本地电脑的IP+端口访问前端,如果可以正常访问,说明部署完毕!如果不能访问,请先去ping之前本地电脑的IP,看是否是网路问题,如果可以ping通,请回到本地部署项目的电脑,关闭其Windows防火墙,一般就可以解决之前不可访问的问题!
希望各位想完成web部署的也能早日成功!