代码如下所示:

import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np
import os
#一元线性回归
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
# 准备训练数据,假设其分布大致符合 y = 1.2x + 0.0
n_train_samples = 200
X_train = np.linspace(-5, 5, n_train_samples)
Y_train = 1.2*X_train + np.random.uniform(-1.0, 1.0, n_train_samples)  # 加一点随机扰动

# 准备验证数据,用于验证模型的好坏
n_test_samples = 50
X_test = np.linspace(-5, 5, n_test_samples)
Y_test = 1.2*X_test

# 参数学习算法相关变量设置
learning_rate = 0.01
batch_size = 20
summary_dir = 'logs'

print('~~~~~~~~~~开始设计计算图~~~~~~~~')

# 使用 placeholder 将训练数据/验证数据送入网络进行训练/验证
# shape=None 表示形状由送入的张量的形状来确定
with tf.name_scope('Input'):
    X = tf.placeholder(dtype=tf.float32, shape=None, name='X')
    Y = tf.placeholder(dtype=tf.float32, shape=None, name='Y')

# 决策函数(参数初始化)
with tf.name_scope('Inference'):
    W = tf.Variable(initial_value=tf.truncated_normal(shape=[1]), name='weight')
    b = tf.Variable(initial_value=tf.truncated_normal(shape=[1]), name='bias')
    Y_pred = tf.multiply(X, W) + b

# 损失函数(MSE)
with tf.name_scope('Loss'):
    loss = tf.reduce_mean(tf.square(Y_pred - Y), name='loss')
    tf.summary.scalar('loss', loss)

# 参数学习算法(Mini-batch SGD)
with tf.name_scope('Optimization'):
    optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss)

# 初始化所有变量
init = tf.global_variables_initializer()

# 汇总记录节点
merge = tf.summary.merge_all()

# 开启会话,进行训练
with tf.Session() as sess:
    sess.run(init)
    summary_writer = tf.summary.FileWriter(logdir=summary_dir, graph=sess.graph)

for i in range(201):
        j = np.random.randint(0, 10)  # 总共200训练数据,分十份[0, 9]
        X_batch = X_train[batch_size*j: batch_size*(j+1)]
        Y_batch = Y_train[batch_size*j: batch_size*(j+1)]

_, summary, train_loss, W_pred, b_pred = sess.run([optimizer, merge, loss, W, b], feed_dict={X: X_batch, Y: Y_batch})
        test_loss = sess.run(loss, feed_dict={X: X_test, Y: Y_test})

# 将所有日志写入文件
        summary_writer.add_summary(summary, global_step=i)
        print('step:{}, losses:{}, test_loss:{}, w_pred:{}, b_pred:{}'.format(i, train_loss, test_loss, W_pred[0], b_pred[0]))

if i == 200:
            # plot the results
            plt.plot(X_train, Y_train, 'bo', label='Train data')
            plt.plot(X_test, Y_test, 'gx', label='Test data')
            plt.plot(X_train, X_train * W_pred + b_pred, 'r', label='Predicted data')
            plt.legend()
            plt.show()

summary_writer.close()

运行完后在logs文件夹下生成一个events.out.tfevents.……文件

然后运行tensorboard --logdir=logs就ok了

但我犯了几个错误,首次尝试时使用shift按住文件夹,选项中有powershell,进入后并无作用运行时经常报错,tensorboard : 无法将“tensorboard”项识别为 cmdlet、函数、脚本文件或可运行程序的名称;这个错误的出现跟powershell在关;

第二次选择使用cmd,然后直接进入到logs文件夹中,生成了一个浏览器地址,打开后并无任何结果,提示:No dashboards are active for the current data set;因为这个命令执行后,cmd界面一直显示没有结束,还以为是命令没有执行完所导致的结果,一直等待中;这个地方的错误是因为在logs目录下,没有logs文件夹,所有没有相应的文件;

然后跳出logs目录,在test目录下,执行命令:tensorboadr --logdir=logs;生成一个浏览器地址,就可以进行浏览了;这个时候cmd界面仍停留在一个执行命令中,并没有结束;

当我结束命令后,原来的浏览器地址就已经没有作用了,无法显示;故没有结束是正常的,只有这样才可以浏览;

结论:使用cmd不能使用powershell,tensorboard后 --logdir是为了指定event文件所在的目录;tensorboard命令在执行中才能正常浏览,停止则无法浏览;

tensorboard的初次使用相关推荐

  1. 与 TensorFlow 的初次相遇

    与 TensorFlow 的初次相遇 原文:First Contact With TensorFlow 译者:飞龙 协议:CC BY-NC-SA 4.0 前言一 由于计算,海量数据存储和互联网技术等关 ...

  2. Tensorboard跳板机端口转发配置

    出于网络安全策略考虑,内网服务器无法连接外网,一般通过跳板机免密登录,因此tensorboard无法使用.本文介绍通过SSH隧道技术穿透内外网限制,实现tensorboard实时监测tensorflo ...

  3. tensorboard merge报错_什么是TensorBoard?

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾前面: 从零开始学TensorFlow[01-搭 ...

  4. TensorFlow(2)图(默认图与自定义图) TensorBoard可视化

    目录 一.图 1.默认图 1.调用方法查看默认图属性 2..graph查看图属性 代码 2.自定义图(创建图) 1.创建自定义图 2.创建静态图 3.开启会话(运行) 4.查看自定义图 代码 二.Te ...

  5. TensorFlow之图结构与TensorBoard可视化

    TensorFlow之图结构与TensorBoard可视化 1.1 什么是图结构 图包含了一组tf.Operation代表的计算单元对象和tf.Tensor代表的计算单元之间流动的数据. 1.2 图相 ...

  6. celery的初次使用

    celery的初次使用 基本步骤: 选择并且安装一个消息中间件(Broker) 安装 Celery 并且创建第一个任务 运行职程(Worker)以及调用任务 跟踪任务的情况以及返回值 应用 创建第一个 ...

  7. 学习笔记CB013: TensorFlow、TensorBoard、seq2seq

    2019独角兽企业重金招聘Python工程师标准>>> tensorflow基于图结构深度学习框架,内部通过session实现图和计算内核交互. tensorflow基本数学运算用法 ...

  8. 阿里云服务器ECS Ubuntu16.04 初次使用配置教程(图形界面安装)

    阿里云服务器ECS Ubuntu16.04 初次使用配置教程(图形界面安装) 2019-01-23 22:55:50 laugh12321 阅读数 851更多 分类专栏: ECS Ubuntu 版权声 ...

  9. tensorflow中Tensorboard的用法

    tensorflow中Tensorboard的用法 下面代码定义了一个简单的用于实现常量加法和乘法的计算图. import tensorflow as tf input1 = tf.constant( ...

最新文章

  1. 文本框自动提示_Excel办公小技巧,使用艺术字与文本框,就是那么的简单
  2. ccf题库中2015年12月2号消除类游戏
  3. 详解log4j2(上) - 从基础到实战
  4. 第十届蓝桥杯java B组—试题I 后缀表达式
  5. DL之CNN:利用CNN(keras, CTC loss, {image_ocr})算法实现OCR光学字符识别
  6. 幻灯片的其他操作(批量生成,重用,版式重设)
  7. 计算机桌面反应慢,Windows7电脑反应慢的解决方法
  8. 让windows 2003启动后直接进入桌面
  9. 新随笔 注:关注后可阅读(持续更新--------)
  10. 2021-05-22下载ts m3u8视频方法
  11. 2022快手春节集卡活动 集好运中国福活动攻略
  12. 色彩搭配及设计金字塔的总结
  13. 白夜追凶 :手 Q 图片的显示和发送逻辑
  14. ELK企业应用-ekl快速搭建-kibana
  15. HTML5网页设计基础——用户注册界面
  16. 技術的變與不變之間...Silverlight 3.0的驚鴻一撇
  17. 早稻田大学国际文学馆(村上春树图书馆)正式开馆
  18. KVM-Virsh指令详解
  19. 困扰?什么是面向对象什么是面向过程
  20. np.title函数作用

热门文章

  1. Python教程:多变量的灵活处理
  2. 详解Django中Request对象的相关用法
  3. python线程join
  4. 虚拟服务器(dmz),连接虚拟主机到DMZ网络的最佳方法
  5. 怎么查看电脑多少内核和多少逻辑处理器?
  6. Intel Realsense D435 在windows系统下运行时请修改相机隐私设置以确保摄像头正常运行(没啥子用,还是掉线)
  7. numpy np.matmul()(两个数组的矩阵乘积)
  8. Tensorflow yolov3 Intel Realsense D435 识别时间测试
  9. Python 编码规范 TODO注释
  10. SpringCloud分布式事务,版本一:未加事务版本