通过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中使用不同编码读写txt文件详解
May 28 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
Jun 06 Python
Window环境下Scrapy开发环境搭建
Nov 18 Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 Python
Pandas之ReIndex重新索引的实现
Jun 25 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
Django 解决上传文件时,request.FILES为空的问题
May 20 Python
Python实现SMTP邮件发送
Jun 16 Python
Python环境配置实现pip加速过程解析
Nov 27 Python
python基础详解之if循环语句
Apr 24 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
如何给phpadmin一个保护
2006/10/09 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
php 邮件发送问题解决
2014/03/22 PHP
php新浪微博登录接口用法实例
2014/12/23 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
使用Apache的rewrite
2021/03/09 Servers
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
JavaScript实现斗地主游戏的思路
2016/02/29 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
Python count函数使用方法实例解析
2020/03/23 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
python要安装在哪个盘
2020/06/15 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
高一学生期末评语
2014/04/25 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
实践论读书笔记
2015/06/29 职场文书
给领导敬酒词
2015/08/12 职场文书
MySQL系列之十一 日志记录
2021/07/02 MySQL
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP