通过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网络编程学习笔记(五):socket的一些补充
Jun 09 Python
Python的Flask框架中Flask-Admin库的简单入门指引
Apr 07 Python
简单谈谈Python中的json与pickle
Jul 19 Python
Python实现购物系统(示例讲解)
Sep 13 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
python实现彩色图转换成灰度图
Jan 15 Python
python数据类型之间怎么转换技巧分享
Aug 20 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
Python 通过监听端口实现唯一脚本运行方式
May 05 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
Jul 01 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 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
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
php实现websocket实时消息推送
2018/03/30 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[44:04]OG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python中reduce()函数的使用方法示例
2017/09/29 Python
Python类的继承和多态代码详解
2017/12/27 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
门前三包责任书
2014/04/15 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
干部作风建设心得体会
2014/10/22 职场文书
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL
Nginx配置使用详解
2022/07/07 Servers