【tensorflow2.0】keras高层接口

tf.keras.datasets
tf.keras.layers
tf.keras.losses
tf.keras.metrics
tf.keras.optimizers

tf.keras.metrics

首先要新建一个Metrics;
然后添加数据update_state;
然后添加结果result().numpy();
最后清零reset_states.

1.新建一个测量值meter

acc_meter = metrics.Accuracy() #准确度
loss_meter = metrics.Mean() #平均值

2.往测量值里添加数据

loss_meter.update_state(loss)
acc_meter.update_state(y, pred)

3.取出数据

print(step, 'loss:', loss_meter.result().numpy())
print(step, 'Evaluate Acc:', total_correct/total, acc_meter.result().numpy())

4.清除缓存

if step % 100 == 0:
	print(step, 'loss:', loss_meter.result().numpy())
	loss_meter.reset_states()

if step % 500 == 0:
	total, total_correct = 0., 0
	acc_meter.reset_states()

loss&optimize

compile指定了training的loss、优化器、评估指标的选择;fit可以完成这一系列流程;evaluate(test、valiation)用于测试;训练好的模型用predict完成预测。

network.compile(optimizer=optimizers.Adam(lr=0.01),
		loss=tf.losses.CategoricalCrossentropy(from_logits=True),
		metrics=['accuracy'])
network.fit(db, epochs=10,
		validation_data=ds_val,
		validation_freq=2)
network.evaluate(ds_val)

上一步的validation是在training中进行的,因为在training中也不知道什么时候停止,就会隔一段时间做一次test,根据validation返回的acc数据跳出training的循环。
当training终止之后,还需要对其进行验证,此时就可以使用数据集evaluate。


自定义层或网络

tf.keras.Sequential
tf.keras.layers.Layer
tf.keras.Model

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值