模型保存与加载
GPU训练
tensorflow创建的Tensor默认放在GPU上
tf.ConfigProto
tf.ConfigProto()主要的作用是配置tf.Session的运算方式,比如gpu运算或者cpu运算
config = tf.ConfigProto()
config.gpu_options.allow_growth = True # 当前进程尽情使用需要的显存
config.allow_soft_placement = True # 有时候,不同的设备,它的cpu和gpu是不同的,如果将这个选项设置成True,那么当运行设备不满足要求时,会自动分配GPU或者CPU。
config.log_device_placement = False # 获取你的 operations 和 Tensor 被指派到哪个设备上运行,会打印出op和Tensor的设备日志
sess = tf.Session(config = config)
TensorBoard使用
Scalar的添加
网络训练过程中的auccracy和loss通常使用scalar的形式来展示
步骤:
- 定义要收集的指标,如:metric_loss = tf.summary.scalar(“loss”, loss)。
- 调用merge_all或merge把summary信息保存到磁盘,以便tensorboard展示。如:summary_op = tf.summary.merge_all()。
- 定义FileWriter,如:writer = tf.summary.FileWriter(’./graph’,sess.graph)。
- 运行summary_op。sess.run(summary_op)
- 使用FileWriter将summary写入日志文件。如:writer.add_summary(summary, step)。
# 1. 定义scalar
tf.summary.scalar('accuracy',acc)
# 2. 定义summary_op
summary_op = tf.summary.merge_all()
# 3. 定义FileWriter
writer = tf.summary.FileWriter(DIR,sess.graph)
for step in range(training_step): #训练循环
# 4. 运行summary_op得到summary
summary = sess.run(summary_op,feed_dict = {...})
# 5. 使用writer将summary和step写入日志文件
writer.add_summary(summary,step)
tensorboard展示
执行tensorboard --logdir=DIR --port=PORT,然后在http://localhost:6006中便可查看
在服务器上运行tensorboard,然后再本地浏览器查看需要在本地进行端口转发
ssh -N -f -L 6006:172.17.0.6:6006 liufengqi@202.120.38.4 -p 20201