> For the complete documentation index, see [llms.txt](https://minghuiwu.gitbook.io/tfbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://minghuiwu.gitbook.io/tfbook/di-wu-zhang-duo-yuan-xian-xing-hui-gui-bo-shi-dun-fang-jia-yu-ce-wen-ti-tesnsorflow-shi-zhan/di-wu-zhang-duo-yuan-xian-xing-hui-gui-bo-shi-dun-fang-jia-yu-ce-wen-ti-tesnsorflow-shi-zhan/5.8-hou-xu-ban-ben-gai-jin.md).

# 5.8 后续版本改进

#### 5.8.1 可视化训练过程中的损失值

要可视化训练过程中的损失，首先需要将训练过程中的损失值记录在一个列表中，然后调用matplot对损失值进行可视化显示，具体是在进行模型的迭代训练时添加一个loss\_list，对每轮训练后的Loss平均值进行存储，或者是每步（单个样本）训练后都添加这个Loss值到loss\_list。具体改动如下：

```python
loss_list = [] # 用于保存loss值的列表

for epoch in range (train_epochs):
    loss_sum = 0.0
    for xs, ys in zip(x_data, y_data):   

        xs = xs.reshape(1,12)
        ys = ys.reshape(1,1)

        _, loss = sess.run([optimizer,loss_function], feed_dict={x: xs, y: ys}) 

        loss_sum = loss_sum + loss
        
        #loss_list.append(loss) # 每步添加一次
    
    # 打乱数据顺序
    x_data, y_data = shuffle(x_data, y_data)
    
    b0temp=b.eval(session=sess)
    w0temp=w.eval(session=sess)
    loss_average = loss_sum/len(y_data)
    
    loss_list.append(loss) # 每轮添加一次
    
    print("epoch=", epoch+1,"loss=", loss_average,"b=", b0temp,"w=", w0temp )
```

使用以下代码进行数据可视化：

```
plt.plot(loss_list)
```

![图 5-11 每轮存储loss值可视化](https://80031148-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYtTdBhaX9EsGjMVkHV%2F-LcBRx4rsn_zpO5PRLjX%2F-LcBipd-m67K7C-Du1NB%2F%E5%9B%BE%E7%89%874.png?alt=media\&token=4e054ffa-2468-4144-bbde-521422535e68)

![图 5-12 每步存储loss值可视化](https://80031148-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LYtTdBhaX9EsGjMVkHV%2F-LcBRx4rsn_zpO5PRLjX%2F-LcBir39DcXbUlNUvUmY%2F%E5%9B%BE%E7%89%875.png?alt=media\&token=5ce741a8-9c84-48a5-952f-e8553aa93af4)

#### 5.8.2 TensorBoard可视化代码

要使用TensorBoard进行可视化，首先要在初始化变量前为其做准备，代码如下：

```python
# 设置日志存储目录
logdir='d:/log' 

# 将计算图存为单独的记录文件
tf.train.write_graph(sess.graph,logdir,'graph.pbtxt')

# 创建记录损失值loss的标量，后面在TensorBoard中SCALARS栏可见
sum_loss_op = tf.summary.scalar("loss", loss_function)

# 把所有需要记录日志的合并，方便一次性写入
merged = tf.summary.merge_all()
```
