搭建Keras-yolo3遇到的坑

搭建基于Keras的yolo3

教程参考:
windows10+keras下的yolov3的快速使用及自己数据集的训练
本机情况:
系统:Win10 家庭中文版
CPU:i5-8300 8核 8G内存
GPU:GTX 1060 6G独显

注意事项

git拉取项目后,第一步看下项目的READ.md:
在这里插入图片描述
这个在上面教程中并没有说,一定要指定版本,我是使用conda构建python环境:
conda create -n yolo_cpu python=3.5.2
conda activate yolo_cpu
升级pip,改为国内镜像,然后使用pip而不是conda安装包(更全)

python -m pip install tensorflow==1.6.0
注意,这里“tensorflow”默认安装的是cpu版本的tensorflow,gpu版本的包名是tensorflow_gpu

python -m pip install Keras==2.1.5

这里需要释疑 —— tensorflow下有Keras包,而使用pip安装Keras时,又也可以看到需要下载tensorflow,好像造成了冗余,让人困惑。这里不必担心,因为二者本身就是A依赖B,B依赖A的关系。tensorflow里的keras和单独的Keras包不是一个东西,没有用到。Keras的tensorflow也没有使用到,真正调用的是用户目录下.Keras设置的backend指定的tensorflow,所以如上面操作即可。

接下来安装各个文件中提示没有找到的包 —— utils.py中的PIL,matplotlib。
python -m pip install matplotlib
注意,PIL不能直接python -m pip install PIL,应该改为:
python -m pip install pillow
单独安装PIL的wheel也不是不可以,但是太麻烦了。不推荐。
注意,以上两个不用指定版本

ImportError: Could not find ‘cudart64_90.dll’

直接运行train.py会报错:ImportError: Could not find 'cudart64_90.dll’
在这里插入图片描述
原因在于train.py支持gpu训练,不管你安装的是tensorflow还是tensorflow_gpu,代码都将检查系统的显卡驱动有没有成功安装,即cuda。
对于自己电脑的支持的cuda版本,可见:
控制面板 —— NVIDIA控制面板 —— 帮助 —— 系统信息 —— 组件:
在这里插入图片描述
报错信息明确要求cuda 9.0,但是这里显示驱动为CUDA 10.2.120,影响不?
经实测,不影响。

接下来安装cuda 9.0:
https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
在这里插入图片描述
一路next,命令行nvcc -V验证:
在这里插入图片描述
PS:
网络教程很多要设置环境变量,那是为了vs里面的,此处我们不用设置。

ImportError:Could not find ‘cudnn64_7.dll’

再次

python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5

报错:
在这里插入图片描述

  1. 找不到cudnn
  2. cuDNN和安装CUDA是两回事
  3. 请下载cuDNN 7

cuDNN官方地址下载,不过这回要注册用户:
在这里插入图片描述
join now,注册用户

这里下载:
在这里插入图片描述

下载,解压,三个文件分别放入cuda对应文件夹(其实就是手动给cuda安装cuDNN模块):

  1. 把cuda\bin\cudnn64_7.dll复制到 C:\Program Files\NVIDIA GPU Computing\Toolkit\CUDA\v9.0\bin 目录下.
  2. 把\cuda\ include\cudnn.h复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include 目录下.
  3. 把\cuda\lib\x64\cudnn.lib复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64 目录下.

运行:

python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5

结果:
在这里插入图片描述
又报错:ImportError: save_model requires h5py
那不就安装呗:

python -m pip install --upgrade h5py

运行:

python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5

成功!!!
在这里插入图片描述
看下目录,成功生成yolo.h5:
在这里插入图片描述

接下来:
在这里插入图片描述
这是错误的,没结果:
在这里插入图片描述
用这个:python yolo_video.py --image,然后提示:
在这里插入图片描述
输入文件路径即可得到结果:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值