Tensorflow图像识别小结

一、run.py执行过程:

1、执行 tf.app.run()

2、tf.app.run()会调用本类中的的main函数,然后依次执行

3、首先获取已经处理好的图片

4、然后定义tensorflow占位符,convolution层和pool层,全连接层和逻辑输出层

5、最后定义损失函数,反向传播过程和模型评价的一些指标

6、获取session,并初始化所有变量,sess.run()启动模型训练的过程

7、模型训练结束后,读取模型存放的参数和图,并预测新的数据

8、sess.close() 整个程序执行结束

二、tensorboard 可视化的使用:

1、首先在程序中定义要可视化的变量:

示例1: tf.summary.scalar("accuracy", accuracy)

示例2: tf.summary.histogram("dense_layer1", active_dense2_layer)

  1. 合并所有可视化的过程:

 merged_summary_op = tf.summary.merge_all()

  1. run这个节点操作:

sess.run(merged_summary_op)

  1. 将run的结果加入summarywriter,注意必须有global_step参数:

summary_writer.add_summary(summary_op, global_step=global_step)

  1. 最后将数据保存到文件:

saver.save(sess, FLAGS.model_path)

  1. linux 执行 tensorboard –logdir= D:\app\log启动
  2. windows执行 tensorboard --logdir=train:D:\app\log 启动
  3. 然后在浏览器中输入http://ip:6006 即可查看训练过程中参数的变化

三、一些解释:

1、tf.app.flags.DEFINE_string()   tensorflow定义参数

2、epoch 指模型遍历一次整个数据,称为一个epoch

3、batch  指数据集中的一个批次的数据,是数据集的子集

4、tf.name_scope("add_placeholder"): 添加一个命名域,使tensorboard中流程图更有层次感。

5、feature 特征

6、label: 标签

四、一些优化技巧:

1、每个epoch训练时,都要进行shuffle的过程。

2、使用batch norm 加快训练过程,有正则的作用

3、学习率进行衰减,减少收敛过程中的摆动

4、处理图片为同样的正方形的大小

5、要对图片是否有效进行判断

6、windows建议安装anacoda环境进行开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值