首先我们需要导入所需要的包,本次训练模型呢,使用了VGG16预训练网络模型,对于没有GPU加持的小伙伴众多的预训练网络模型也算是福音。即可加快模型训练速度,也可以使小批量的数据集的准确率提高很多。
从网上找到的猫狗数据集资源,加载猫狗数据集和划分猫狗训练(train)数据和测试(test)数据。猫狗原数据集我已上传到百度云盘,需要的文章末尾请自取。
调用时,代码如下:
y即为输出的结果。
github传送门:SymphonyPy/Valified_Code_Classify
一个识别非常简单的验证码的程序
保存训练好的模型的代码如下:
训练完一个模型后,为了以后重复使用,通常我们需要对模型的结果进行保存。如果用Tensorflow去实现神经网络,所要保存的就是神经网络中的各项权重值。建议可以使用Saver类保存和加载模型的结果。
1、使用tf.train.Saver.save()方法保存模型
tf.train.Saver.save(sess, save_path, global_step=None, latest_filename=None, meta_graph_suffix='meta', write_meta_graph=True, write_state=True)
sess: 用于保存变量 *** 作的会话。
save_path: String类型,用于指定训练结果的保存路径。
global_step: 如果提供的话,这个数字会添加到save_path后面,用于构建checkpoint文件。这个参数有助于我们区分不同训练阶段的结果。
2、使用tf.train.Saver.restore方法价值模型
tf.train.Saver.restore(sess, save_path)
sess: 用于加载变量 *** 作的会话。
save_path: 同保存模型是用到的的save_path参数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)