(紧接着上一篇文章来)我们要想运行GitHub上别人的预训练模型,你一定先要仔细的项目的README,这里面会有这个项目的简介以及安装步骤。记住最好严格按照GitHub上README教程来安装你下载下来的FaceBoxes_pytorch项目,GitHub上的FaceBoxes_pytorch项目的安装教程一共分为四个小结,分别是:
附上FaceBoxes_pytorch的GitHub链接:
https://github.com/zisianw/FaceBoxes.PyTorch
接下来我就按照这个教程来运行FaceBoxes_pytorch的test.py
(1)运行FaceBoxes_pytorch版本,你首先要保证自己电脑里安装了Pytorch(这里我就不再单独讲解了)
(2)下载FaceBoxes_pytorch项目,上一篇文章中已经讲过了
(3)编译nms
编译nms这里折磨了我好久,可以说我跑test.py跑了五天才弄出来,最大的阻碍就是当时没有先把nms编译好。因为Windows的终端上是没有make命令的,所以我弄了好久都不知道编译nms,导致运行test.py的时候一直有各种各样的小问题,怎么也解决不完,怎么也解决不了,其实归根到底就是因为nms没有编译成功。
在Windows中运行原在Linux中编写的源代码,Windows在编译源代码的时候会因为没有Linux上可以使用的命令而无法编译源代码,从而导致整个预训练模型无法运行。所以我们首先要来安装一个软件,来使得在Windows的cmd终端也能使用Linux上使用的命令。
(1)
https://blog.csdn.net/lvsehaiyang1993/article/details/81027399
(2)
https://blog.csdn.net/yupu56/article/details/53186410
(3)
https://blog.csdn.net/chunleixiahe/article/details/55666792
这三篇cygwin的安装教程你可以结合着看,安装过程中的镜像网络链接选163.com的,如果你只需要编译此次的nms的话,最后选择安装包只要选择:devel分支下的
binutils
gcc(devel中所有带有gcc前缀的包)
gcc-mingw(devel中选择适合你电脑的mingw的包)
gdb
make
这5种包就可以了
./make.sh
./make.sh
的命令。chmod 777 ./make.sh
这里我们按照GitHub上的教程和链接分别下载好各个数据集还有预训练模型就行了,并且将这些下载的东西,全部按照GitHub上指定的文件夹添加到我们之前下载好的FaceBoxes_pytorch文件中,千万不要放错位置,或者使用自己的文件夹名称,因为放错文件夹位置就会运行出错。提示:在GitHub上FaceBoxes_pytorch的最下面有一个百度云链接,从那里可以一次性下载完上面所有的数据集和pth文件。
我目前只运行了test.py,所以evaluation,和reference我就暂时没记录了。
parser.add_argument('--cpu', action="store_true", default=False, help='Use cpu inference')
将defult = False
改成defult = True
parser.add_argument('--cpu', action="store_true", default=True, help='Use cpu inference')
并在代码前面添加一行device命令:
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
https://blog.csdn.net/u013177568/article/details/62432761/
将test.py改为CPU运行还有两个小地方需要更改,在代码开头的import区域,找到from utils.nms_wrapper import nms
并将其注释掉,不再使用这一句,同时添加一句:from utils.nms.py_cpu_nms import py_cpu_nms
,这时候你输入的这一句是灰色的,代码还没有点亮,因为下面的代码中没有使用py_cpu_nms的地方,所以pycharm会将其显示为灰色。这时候你再翻到test.py代码 do NMS 区域找到keep = nms(dets, args.nms_threshold)
并将其更改为:keep = py_cpu_nms(dets, args.nms_threshold)
。这下子test.py就可以在你的没有CPU的Windows上顺利运行了。
在运行代码期间若有其他缺少某一模块或包的提示,你电脑中缺少哪一个包或模块,你就在终端中用安装命令安装缺少的模块或者包就行了。
如果你想让程序运行并输出图片结果,你需要将parser.add_argument('-s', '--show_image', action="store_true", default=False, help='show detection results')
中的显示图片的默认改为True
如果你想让程序测试你自己的图片,你需要将你自己的图片复制粘贴到你的FaceBoxes_pytorch/data/PACAL/images数据集中,并将你的照片名称改为原数据集的相同名称格式,然后将你的照片的名字复制到FaceBpxes_pytorch/data/PACAL
文件夹中的一个img_list.txt
文件中,放在最前面。(建议在Windows中下载一个NotePad++来读取你的txt文档)那样你的图片就可以被测试模型进行读取了。建议将你自己的图片像素调整为500x375或375x500,并选择图片大小小于250KB左右的的图片,使用图片太大的话,测试结果可能越差。
https://blog.csdn.net/github_35160620/article/details/52788525?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2