Tensorflow 创建神经网络(二)可视化

将训练过程可视化出来

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt 

# 去掉警告
import warnings
warnings.filterwarnings("ignore",".*GUI is implemented.*")

import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL‘] = ‘2‘

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) # 保证 biases 不为 0
    Wx_plus_b = tf.matmul(inputs, Weights) + biases
    if activation_function == None:
        outputs = Wx_plus_b
    else:
        outputs = activation_function(Wx_plus_b)
    return outputs

x_data = np.linspace(-1, 1, 300) #(300,)
x_data = x_data.reshape(300,1) # (300, 1)

noise = np.random.normal(0, 0.05, x_data.shape)
y_data = np.square(x_data) - 0.5 + noise

# 为 batch 做准备
xs = tf.placeholder(tf.float32, [None, 1])
ys = tf.placeholder(tf.float32, [None, 1])

l1 = add_layer(xs, 1, 10, activation_function = tf.nn.relu)
prediction = add_layer(l1, 10, 1, activation_function = None)

loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys - prediction), 1))

train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

init = tf.global_variables_initializer()

# 画图
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x_data, y_data)
plt.ion()

with tf.Session() as sess:
    sess.run(init)
    for step in range(1000):
        sess.run(train_step, feed_dict = {xs: x_data, ys: y_data})
        if step % 20 == 0:
            #print(‘loss = ‘, sess.run(loss, feed_dict = {xs: x_data, ys: y_data}))
#            try:
#                ax.lines.remove(lines[0])
#            except Exception:
#                pass

            prediction_value = sess.run(prediction, feed_dict = {xs:x_data})
#            print(prediction_value)
            lines = ax.plot(x_data, prediction_value,‘b-‘, lw = 3)

            plt.pause(0.1)
            ax.lines.remove(lines[0])
        step += 1
        plt.show()

在训练过程中遇到的问题即解决办法:

1、显示不出蓝线

2、不能动态显示

解决办法:

1、在spyder中,将tools----preferences----IPython console----Graphics----Backend----改成Automatic,最后需要再对Spyder软件进行重新启动,没有重启则不能实现设置效果。这样就可以显示出单独的窗口,并可以实现动态的figure显示,

2、step += 1,我刚开始运行的时候没有加这句,就会导致结果被剔除,就没有红线

可以看出最后会越接近给出的数据

原文地址:https://www.cnblogs.com/gaona666/p/12638705.html

时间: 2024-11-05 11:56:17

Tensorflow 创建神经网络(二)可视化的相关文章

Tensorflow 创建神经网络

一个神经网络系统,由很多层组成,输入层用来接收信息,中间层加工处理输入信息,输出层就是计算机对这个输入信息的认知. https://www.jianshu.com/p/e112012a4b2d 搭建神经网络基本流程 定义添加神经层的函数 1.训练的数据 2.定义节点准备接收数据 3.定义神经层:隐藏层和预测层 4.定义 loss 表达式 5.选择 optimizer 使 loss 达到最小 然后对所有变量进行初始化,通过 sess.run optimizer,迭代 1000 次进行学习: imp

用Tensorflow让神经网络自动创造音乐

前几天看到一个有意思的分享,大意是讲如何用Tensorflow教神经网络自动创造音乐.听起来好好玩有木有!作为一个Coldplay死忠粉,第一想法就是自动生成一个类似Coldplay曲风的音乐,于是,开始跟着Github上的教程(项目的名称:Project Magenta)一步一步做,弄了三天,最后的生成的音乐在这里(如果有人能告诉我怎么在博客里插入音乐请赶快联系我!谢谢!) 第一首:Magenta Melody Result1.mp3 http://yun.baidu.com/share/li

【零基础】使用Tensorflow实现神经网络

一.序言 前面已经逐步从单神经元慢慢“爬”到了神经网络并把常见的优化都逐个解析了,再往前走就是一些实际应用问题,所以在开始实际应用之前还得把“框架”翻出来,因为后面要做的工作需要我们将精力集中在业务而不是网络本身,所以使用框架可以减少非常多的工作量,有了前面自己实现神经网络的经验,现在理解框架的一些设置也比较容易了.本篇我们就使用比较常见的Tensorflow来重置一下前面的工作. 备注一下Tensorflow的安装: 1)安装python3.6,高版本不支持 2)pip install ten

用 TensorFlow 创建自己的 Speech Recognizer

参考资料 源码请点:https://github.com/llSourcell/tensorf- 语音识别无处不在,siri,google,讯飞输入法,讯飞语记,智能家居,车,etc. 每天都在用的,很好奇它是怎么实现的,今天来看看这么便利的东东到底是什么样子呢. 进化史 最开始的 speech recognizer 只能识别 0-9 这几个数字,说别的单词是识别不了滴. 后来有一个叫做 DARPA 的梦想家 team 孜孜不倦地研究. 他们用 15000 个节点代表可能的发音,然后用暴力搜索

(转)一文学会用 Tensorflow 搭建神经网络

一文学会用 Tensorflow 搭建神经网络 本文转自:http://www.jianshu.com/p/e112012a4b2d 字数2259 阅读3168 评论8 喜欢11 cs224d-Day 6: 快速入门 Tensorflow 本文是学习这个视频课程系列的笔记,课程链接是 youtube 上的,讲的很好,浅显易懂,入门首选, 而且在github有代码,想看视频的也可以去他的优酷里的频道找. Tensorflow 官网 神经网络是一种数学模型,是存在于计算机的神经系统,由大量的神经元相

paper 75:使用MATLAB的神经网络工具箱创建神经网络

% 生成训练样本集 clear all; clc; P=[110 0.807 240 0.2 15 1 18 2 1.5; 110 2.865 240 0.1 15 2 12 1 2; 110 2.59 240 0.1 12 4 24 1 1.5; 220 0.6 240 0.3 12 3 18 2 1; 220 3 240 0.3 25 3 21 1 1.5; 110 1.562 240 0.3 15 3 18 1 1.5; 110 0.547 240 0.3 15 1 9 2 1.5]; 0

Tensorflow卷积神经网络[转]

Tensorflow卷积神经网络 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络, 在计算机视觉等领域被广泛应用. 本文将简单介绍其原理并分析Tensorflow官方提供的示例. 关于神经网络与误差反向传播的原理可以参考作者的另一篇博文BP神经网络与Python实现. 工作原理 卷积是图像处理中一种基本方法. 卷积核是一个nxn的矩阵通常n取奇数, 这样矩阵就有了中心点和半径的概念. 对图像中每个点取以其为中心的n阶方阵, 将该方阵与卷积核中

Tensorflow命名空间与计算图可视化

Tensorflow命名空间与计算图可视化 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 参考文献Tensorflow实战Google深度学习框架 实验平台: Tensorflow1.4.0 python3.5.0 Tensorflow可视化得到的图并不仅是将Tensorflow计算图中的节点和边直接可视化,它会根据每个Tensorflow计算节点的命名空间来整理可视化得到效果图,使得神经网络的整体结构不会被过多的细节所淹没.除了显示Tensorflow计算图的结构,Tens

深度学习原理与框架-Tensorflow卷积神经网络-神经网络mnist分类

使用tensorflow构造神经网络用来进行mnist数据集的分类 相比与上一节讲到的逻辑回归,神经网络比逻辑回归多了隐藏层,同时在每一个线性变化后添加了relu作为激活函数, 神经网络使用的损失值为softmax概率损失值,即为交叉熵损失值 代码:使用的是mnist数据集作为分类的测试数据,数据的维度为50000*784 第一步:载入mnist数据集 第二步:超参数的设置,输入图片的大小,分类的类别数,迭代的次数,每一个batch的大小 第三步:使用tf.placeholder() 进行输入数