通过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基础教程之自定义函数介绍
Aug 29 Python
Python编程之属性和方法实例详解
May 19 Python
在MAC上搭建python数据分析开发环境
Jan 26 Python
Python中str.format()详解
Mar 12 Python
python如何读写json数据
Mar 21 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
Python通过cv2读取多个USB摄像头
Aug 28 Python
Numpy中对向量、矩阵的使用详解
Oct 29 Python
Django高并发负载均衡实现原理详解
Apr 04 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
Apr 07 Python
python字符串拼接.join()和拆分.split()详解
Nov 23 Python
Python测试框架pytest高阶用法全面详解
Jun 01 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
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
PHP return语句的另一个作用
2014/07/30 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
非主流的textarea自增长实现js代码
2011/12/20 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
Vue路由history模式解决404问题的几种方法
2018/09/29 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
python返回昨天日期的方法
2015/05/13 Python
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
Python使用字典实现的简单记事本功能示例
2019/08/15 Python
python列表的逆序遍历实现
2020/04/20 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
彪马俄罗斯官网:PUMA俄罗斯
2019/07/13 全球购物
Java如何支持I18N?
2016/10/31 面试题
高中生的学习总结自我鉴定
2013/10/26 职场文书
儿媳婚宴答谢词
2014/01/14 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
中标通知书
2015/04/17 职场文书
孟佩杰观后感
2015/06/17 职场文书
《坐井观天》教学反思
2016/02/18 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
MySQL数据库查询之多表查询总结
2022/08/05 MySQL