使用SSD-TensorFlow-Master 训练样本

       因为要做目标检测,看了一些帖子,先是看了推理结构,大多要用到GPU,楼主电脑没有,因此就选择ncnn,腾讯大牛开源的,下载地址:https://github.com/Tencent/ncnn     ,ncnn支持多种模型,根据现在测试需要自己就选择采用SSD这个算法下载地址:

https://github.com/balancap/SSD-Tensorflow

确定推理结构和训练模型以后然后开始装环境,这个真的很坑,反复N多次,才搞好:

1、第一步装anaconda3 开始看网上用的都是4.2,自己也装的4.2,添加新的虚拟环境,就是添加不进去,搞得有些崩溃,没有查出来原因,后来换5.4版本的,环境变量可以添加

先说这个添加环境,刚开始以为创建好环境就可以了,结果是在anaconda中直接下载的Tensorflow直接添加的版本太高了,后来就直接通过

添加低版本的卸载以后又重新添加,具体卸载代码直接百度,添加代码就粘贴一下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python (需要在虚拟环境下装什么工具直接写进去,这个是从清华的镜像网站下载,如果直接下载(速度慢报出各种各样的错误)这个网页解释更详细

https://blog.csdn.net/liji_digital/article/details/104200319

下载tensorflow指定版本

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==1.5

其他也是一样,因为工具版本不一样,反复搞了好几次,才成功(没人带,自己也是一步一个坑的走)

因为后面还要用到其他包一次性都给粘出来了

安装opencv-python(默认安装都是比较高的版本,此次用的4.2.0.34)

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python

安装matplotlib 计算包

conda install matplotlib

安装完以后可以在安装完成的环境的anaconda中安装spyder

一定要先装tensorflow,这样自动装的spyder的版本不会太高,自己会去匹配适应的的版本(个人感觉,之前装反,上来就是4.0以上的版本,后来又卸载,虽然在anaconda 中可以卸载装指定的版本,但是跟tensorflow的兼容性就没得保证了,这个人弄下的总结仅做参考),这里安装spyder是为了等下运行标图软件用labelImg

我安装完成以后报错,然后修改下面的文件:(好像是导入 import tensorflow as tf   错误)

中间需要对一个 C:\Users\Administrator\AppData\Local\conda\conda\envs\TensorFlow\Lib\site-packages\tensorflow\python\framework 路径中dtypes.py进行修改为(493到502行)

_np_qint8 = np.dtype([("qint8", np.int8, (1,0))])

_np_quint8 = np.dtype([("quint8", np.uint8, (1,0))])

_np_qint16 = np.dtype([("qint16", np.int16, (1,0))])

_np_quint16 = np.dtype([("quint16", np.uint16, (1,0))])

_np_qint32 = np.dtype([("qint32", np.int32, (1,0))])

# _np_bfloat16 is defined by a module import

# Custom struct dtype for directly-fed ResourceHandles of supported type(s).

np_resource = np.dtype([("resource", np.ubyte, (1,0))])

安装完成以后就在,打开环境运行,测试是否成功:

打开虚拟环境  :activate tensorflow

打开      Python

输入测试代码:

 #测试代码
 import os
 os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'              
 import tensorflow as tf
 hello = tf.constant('hello,world')
 sess = tf.Session()
 print(sess.run(hello))

网上给的很多代码就是后面4句,然后就报出各种问题,运行没问题就开始测试一下标图软件了

我用的是spyder 版本是3.2.8(因为添加了tensorflow虚拟环境,不知道后来什么情况运行不了,应该是我没安装相应的运行环境,因为怕出现问题,labelImg 软件就在base这个环境是可以运行,对应的安装库我都装在这个环境下了,安装方式在下面这个网站https://blog.csdn.net/m0_38139979/article/details/79958823

标图有快捷键可以用,自己百度,测试用起来还是挺方便的。

后面就是安装pycharm软件了,里面后面环境配置

这个直接百度一下就可以了,把anaconda 中的tersonflow环境导入就行了

在新的pycharm中添加环境,我的添加完成了。步骤就是这样,细化可以百度,仓促之间记录,莫见怪!

2、环境搞好以后,就在pycharm中添加SSD-TensorFlow-Master 工程:

注意:1处的文件夹下下载相应的文件,在给出的网站有详细步骤

2、自己要建立这个文件夹不然会报错的

3、标记图像数据存储位置,都是自己建立(经验之谈就是图像都放入指定位置以后再开始标记,因为标记图像里面有个路径,不然还得一个个修改,很烦)

4、就是把notebook打开的ssd_notebook.ipynb中的代码复制粘在住工程下,后面再改数据比较方便,运行一下就可以了

5、最后一步就是深度训练了:

这个过程也是问题很多:自己出的问题在网上一个个看帖子才跑起来的

经验一:每次运行开始训练文件就把train_model里面所有的文件清空一次

经验二:学习率调的低一些我用的0.005,觉得有点儿高,开始自动设置0.01上来就是 loss= Nan()之类的,然后过一会就甭了

经验三:就是开始训练时,

# DATA_FORMAT = 'NCHW'   针对GPU   我的电脑不带GPU
改为下面
DATA_FORMAT = 'NHWC' 

经验四:要是只训练一种特征就把这个代码屏蔽掉,多特征我也没测试

然后就是开始训练了,第一次训练也不知道这个值多小好(以前见到的都是0.001以内,采用的是不同的网络,那是训练了200000次以上的结果)

以上就是自己的训练过程,自己也是刚开始,学着做,自己也是从别人的帖子中摸索前进,也把自己的经验分享一下。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值