通过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生成随机密码或随机字符串的方法
Jul 03 Python
详解Python pygame安装过程笔记
Jun 05 Python
Python导入模块时遇到的错误分析
Aug 30 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
对python pandas 画移动平均线的方法详解
Nov 28 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
Django 在iframe里跳转顶层url的例子
Aug 21 Python
实现Python与STM32通信方式
Dec 18 Python
Python Pickle 实现在同一个文件中序列化多个对象
Dec 30 Python
Python random库使用方法及异常处理方案
Mar 02 Python
使用npy转image图像并保存的实例
Jul 01 Python
Python解析微信dat文件的方法
Nov 30 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
php join函数应用
2011/05/04 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
2015/11/25 PHP
基于php伪静态的实现方法解析
2020/07/31 PHP
javascript读取xml
2006/11/04 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
JS模拟bootstrap下拉菜单效果实例
2016/06/17 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
Vue单页应用引用单独的样式文件的两种方式
2018/03/30 Javascript
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
python最小生成树kruskal与prim算法详解
2019/01/17 Python
python绘制雪景图
2019/12/16 Python
Pytorch之Variable的用法
2019/12/31 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
预备党员入党思想汇报
2014/01/04 职场文书
激励员工的口号
2014/06/16 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
银行自荐信怎么写
2015/03/05 职场文书
MySQL 全文检索的使用示例
2021/06/07 MySQL
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技