通过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 相关文章推荐
在Apache服务器上同时运行多个Django程序的方法
Jul 22 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
python deque模块简单使用代码实例
Mar 12 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
Mar 25 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 Python
python 线程的五个状态
Sep 22 Python
python实现大文本文件分割成多个小文件
Apr 20 Python
Python 如何将integer转化为罗马数(3999以内)
Jun 05 Python
Python线程池与GIL全局锁实现抽奖小案例
Apr 13 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
DedeCms模板安装/制作概述
2007/03/11 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
Python yield 小结和实例
2014/04/25 Python
Python切片用法实例教程
2014/09/08 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
Python可以实现栈的结构吗
2020/05/27 Python
Python如何对XML 解析
2020/06/28 Python
Python 利用OpenCV给照片换底色的示例代码
2020/08/03 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
python 模块导入问题汇总
2021/02/01 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
HTML5实现签到 功能
2018/10/09 HTML / CSS
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
应届生求职信范文
2014/05/26 职场文书
旅游专业毕业生自荐书
2014/06/30 职场文书
组织委员竞选稿
2015/11/21 职场文书
Python面向对象之成员相关知识总结
2021/06/24 Python