神经网络学习记录(模型保存、准确率计算、断点续训)

神经网络学习

模型保存

当我们搭建好神经网络的学习过程,传入训练数据进行训练,那么如何将训练完成的模型保存以备之后预测时直接使用呢?因此,在神经网络的训练框架中我们还需要定义模型的保存模块,使用tensorflow实现程序如下:

saver = tf.train.Saaver()
with tf.Session() as sess:
	for i in range(STEPS):
		if i%轮数 == 0: //定义一定轮数保存模型
			saver.save(sess, os.path.join(MODEL_SAVE_PATH, MODEL_NAME),global_step=global_step)

准确率(Accuracy)计算

如何计算模型的准确率呢?
(1) 比较模型预测结果的最大值所在位置及真实值位置的关系,若相等则为1,否则表示为0
(2) 将比较结果求平均值,即模型准确率

使用tensorflow实现模型准确率计算程序如下:

correct_prediction = tf.equal(tf.argmax(y_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))

断点续训

在实际运用中,训练一个神经网络往往需要很长时间,那么,在训练过程中可能遇到断电等一些情况导致训练终止,重新训练会浪费大量的时间,因此,实现断点续训让模型能够在训练终止后再次训练时恢复到上次训练的位置具有重要的实际意义。

如何实现断点续训呢?使用tensorflow实现程序如下:

ckpt = tf.train.get_checkpoint_state(MODEL_SAVE_PATH) //从模型保存文件夹中查找模型文件
if ckpt and ckpt.model_checkpoint_path:
	saver.restore(sess,ckpt.model_checkpoint_path) //若模型文件存在,则加载模型保存数据到当前会话

实际运用中,根据训练数据的规模定义保存模型的频率,配合断点续训程序保证模型的稳健运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值