通过python的matplotlib包将Tensorflow数据进行可视化的方法


Posted in Python onJanuary 09, 2019

使用matplotlib中的一些函数将tensorflow中的数据可视化,更加便于分析

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

def add_layer(inputs, in_size, out_size, activation_function=None):
  Weights = tf.Variable(tf.random_normal([in_size, out_size]))
  biases = tf.Variable(tf.zeros([1, out_size]) + 0.1)
  Wx_plus_b = tf.matmul(inputs, Weights) + biases
  if activation_function is None:
    outputs = Wx_plus_b
  else:
    outputs = activation_function(Wx_plus_b)
  return outputs

# Make up some real data
x_data = np.linspace(-1, 1, 300)[:, np.newaxis]
noise = np.random.normal(0, 0.05, x_data.shape)
y_data = np.square(x_data) - 0.5 + noise


# define placeholder for inputs to network
xs = tf.placeholder(tf.float32, [None, 1])
ys = tf.placeholder(tf.float32, [None, 1])
# add hidden layer
l1 = add_layer(xs, 1, 10, activation_function=tf.nn.relu)
# add output layer
prediction = add_layer(l1, 10, 1, activation_function=None)

# the error between prediction and real data
loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
# important step

#initialize_all_variables已被弃用,使用tf.global_variables_initializer代替。 
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)

# plot the real data
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x_data, y_data)
plt.ion() #使plt不会在show之后停止而是继续运行
plt.show()


for i in range(1000):
  # training
  sess.run(train_step, feed_dict={xs: x_data, ys: y_data})
  if i % 50 == 0:
    # to visualize the result and improvement
    try:
      ax.lines.remove(lines[0]) #在每一次绘图之前先讲上一次绘图删除,使得画面更加清晰
    except Exception:
      pass
    prediction_value = sess.run(prediction, feed_dict={xs: x_data})
    # plot the prediction
    lines = ax.plot(x_data, prediction_value, 'r-', lw=5) #'r-'指绘制一个红色的线
    plt.pause(1) #指等待一秒钟

运行结果如下:(实际效果应该是动态的,应当使用ipython运行,使用jupyter运行则图片不是动态的)

通过python的matplotlib包将Tensorflow数据进行可视化的方法

注意:initialize_all_variables已被弃用,使用tf.global_variables_initializer代替。

以上这篇通过python的matplotlib包将Tensorflow数据进行可视化的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python计算三角函数之asin()方法的使用
May 15 Python
wxPython中listbox用法实例详解
Jun 01 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
Python验证文件是否可读写代码分享
Dec 11 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
Dec 19 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
Sep 14 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
深入了解Python在HDA中的应用
Sep 05 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 Python
如何利用pycharm进行代码更新比较
Nov 04 Python
解析目标检测之IoU
Jun 26 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 #Python
python基于C/S模式实现聊天室功能
Jan 09 #Python
python 通过麦克风录音 生成wav文件的方法
Jan 09 #Python
Python 利用pydub库操作音频文件的方法
Jan 09 #Python
Python简单过滤字母和数字的方法小结
Jan 09 #Python
使用python批量化音乐文件格式转换的实例
Jan 09 #Python
python+ffmpeg批量去视频开头的方法
Jan 09 #Python
You might like
php array_slice函数的使用以及参数详解
2008/08/30 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
2010/08/01 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
FileUpload 控件 禁止手动输入或粘贴的实现代码
2010/04/07 Javascript
js计算精度问题小结
2013/04/22 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
2018/09/07 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
微信小程序实现canvas分享朋友圈海报
2020/06/21 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
Linux下用Python脚本监控目录变化代码分享
2015/05/21 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
python Pandas如何对数据集随机抽样
2019/07/29 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
在python中做正态性检验示例
2019/12/09 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
python在一个范围内取随机数的简单实例
2020/08/16 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
火山动力Java笔试题
2014/06/26 面试题
行政专员岗位职责
2014/01/02 职场文书
2014社区三八妇女节活动总结
2014/03/01 职场文书
元旦活动感言
2014/03/08 职场文书
大班幼儿评语大全
2014/04/30 职场文书
后备干部培训方案
2014/05/22 职场文书
介绍信格式样本
2015/05/05 职场文书
英语读书笔记
2015/07/02 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
解读Vue组件注册方式
2021/05/15 Vue.js