在收集完图片后,要想构建自己的训练集最好现想要自己要怎么训练模型,训练哪种模型。
这就必须对TensorFlow的API有所了解。TensorFlow提供了Keras模块可以轻松地用几行代码调用已经封装好的模型,我们要做的只是把自己的数据塞进去,并且添加一些断点和保存权重的方法即可。
找了很多不同模型对比的文章,最后还是决定从YoloV3下手,虽然它训练可能有点困难,但是作为真正意义上第一个上手的模型,我还是想尝试一下。不过还是先从最基础的如何构造一个自定义网络层开始学习。
Keras API
Keras有两块
- Model :包含层连接和组织的函数和参数
- Layer :包含构成网络的函数和变量
Keras 基本操作
引入
import tensorflow as tf
网络容器
Keras 提供网络容器Sequential将多个网络封装成一个大网络模型
model = tf.keras.Sequential()
层的堆叠
通过add方式,选择Dense(全连接层)模式,激活函数为relu
model.add(tf.keras.layers.Dense(32,activation='relu'))