https://blog.csdn.net/oMoDao1/article/details/81222465

为防止matplotlib画完图后自动关闭图像窗口,可以在代码的尾部加上 pyplot.pause(0)

例:

import tensorflow as tf
    import numpy as np
    import matplotlib.pylab as plt
    def add_layer(inputs,in_size,out_size,activation_function=None):
        #Weights是一个矩阵,[行,列]为[in_size,out_size]
        Weights=tf.Variable(tf.random_normal([in_size,out_size]))#正态分布
        #初始值推荐不为0,所以加上0.1,一行,out_size列
        biases=tf.Variable(tf.zeros([1,out_size])+0.1)
        #Weights*x+b的初始化的值,也就是未激活的值
        Wx_plus_b=tf.matmul(inputs,Weights)+biases
     
        #激活
     
        if activation_function is None:
            #激活函数为None,也就是线性函数
            outputs=Wx_plus_b
        else:
            outputs=activation_function(Wx_plus_b)
        return outputs
     
    """定义数据形式"""
    # (-1,1)之间,有300个单位,后面的是维度,x_data是有300行(300个例子)
    x_data=np.linspace(-1,1,300)[:,np.newaxis]
    # 加噪声,均值为0,方差为0.05,大小和x_data一样
    noise=np.random.normal(0,0.05,x_data.shape)
    y_data=np.square(x_data)-0.5+noise
     
    xs=tf.placeholder(tf.float32,[None,1])
    ys=tf.placeholder(tf.float32,[None,1])
     
    """建立网络"""
    #定义隐藏层,输入1个节点,输出10个节点
    l1=add_layer(xs,1,10,activation_function=tf.nn.relu)
    #定义输出层
    prediction=add_layer(l1,10,1,activation_function=None)
     
    """预测"""
    #损失函数,算出的是每个例子的平方,要求和(reduction_indices=[1],按行求和),再求均值
    loss=tf.reduce_mean(tf.reduce_sum(tf.square(ys-prediction),reduction_indices=[1]))
     
    """训练"""
    #优化算法,minimize(loss)以0.1的学习率对loss进行减小
    train_step=tf.train.GradientDescentOptimizer(0.1).minimize(loss)
     
    init=tf.global_variables_initializer()
     
    with tf.Session() as sess:
        sess.run(init)
     
        fig=plt.figure()
        #连续性的画图
        ax=fig.add_subplot(1,1,1)
        ax.scatter(x_data,y_data)
        # 不暂停
        plt.ion()
        # plt.show()绘制一次就会暂停
        # plt.show() #也可以用plt.show(block=False)来取消暂停,但是python3.5以后提供了ion的功能,更方便
        for i in range(1000):
            sess.run(train_step,feed_dict={xs:x_data,ys:y_data})
            if i%50==0:
                # print(sess.run(loss,feed_dict={xs:x_data,ys:y_data}))
                #尝试先抹除,后绘制第二条线
                #第一次没有线,会报错,try就会忽略错误,然后紧接着执行下面的步骤
                try:
                    # 画出一条后抹除掉,去除第一个线段,但是只有一个,也就是抹除当前的线段
                    ax.lines.remove(lines[0])
                except Exception:
                    pass
                prediction_value=sess.run(prediction,feed_dict={xs:x_data})
                lines=ax.plot(x_data,prediction_value,'r-',lw=5) #lw线宽
     
                # 暂停0.1s
                plt.pause(0.1)
        plt.pause(0)

防止matplotlib画完图后自动关闭NN相关推荐

  1. 防止matplotlib画完图后自动关闭

    为防止matplotlib画完图后自动关闭图像窗口,可以在代码的尾部加上 pyplot.pause(0) 例: import tensorflow as tf import numpy as np i ...

  2. 潘石屹首次Python考试成绩 99 分,失分点:画完图后忘了隐藏画笔的箭头

    机器之心报道 参与:蛋酱 「人生苦短,我潘石屹考了 Python.」 5 月 16 日凌晨,房地产大佬.SOHO 中国董事长潘石屹在微博晒出了自己的第一张 Python 考试成绩单:99 分,优秀! ...

  3. 将Visio文件(.vsdx)导出为更清楚/高质量的图片(.jpg);Visio画完图,保存清晰图片;论文工具Visio 2013

    Visio ,画图的好帮手!(框图对齐利器,论文图表救星,我们可以用它画一些流程图.时序图.类图.用例图.架构图等等等等.) 大家写论文相关时,最常用的"Word画图"和" ...

  4. python画厢式图_用matplotlib画箱体图(boxplot)

    画boxplot的接口为 matplotlib.pyplot.boxplot,不过在画之前,我需要好好理解一下箱体图所代表的含义和计算方法. 用一个实际的例子来说明如何画boxplot,这个例子来自w ...

  5. Matplotlib画蜡烛图

    mpl_finance.candlestick_ohlc() 以前使用Matplotlib画蜡烛图的时候是使用matplotlib.finance这个工具库里面candlestick_ohlc函数,最 ...

  6. python 画三维函数图-如何用Matplotlib 画三维图的示例代码

    最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...

  7. python画三维立体图-如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

  8. 如何使用python画折线图-Python 使用 matplotlib 画折线图教程

    话不多说,直接上代码.最近修改一篇论文,实验部分的图全部重画了一下,也正好在此进行整理.使用 Python 的 matplotlib 库来画图还是比较方便的,今天整理一下用 matplotlib 画折 ...

  9. python怎样画立体图-如何用Matplotlib 画三维图的示例代码

    用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平 ...

最新文章

  1. 【C语言数据结构】单链表
  2. VirtualBox Network设置的NAT和Bridged Adapter模式区别
  3. java中的动态绑定与静态绑定
  4. 4.2号 作业讲解
  5. 从wait_type入手模拟SQL Server Lock
  6. 如何编写一个d.ts文件
  7. mysql5.7.21压缩版_mysql5.7.21解压版安装配置图文
  8. 开源矿工 - 记一个完整的软件是如何开发和运行的
  9. mysql 的基本用法_mysql命令行基本用法
  10. 通过UltraISO,写入ISO镜像,制作U盘启动盘
  11. 《概率论与数理统计》(浙大第四版)第一章总结笔记(纯手写)
  12. 飘逸的python - 使用图像匹配SIFT算法进行LOGO检测
  13. 《多媒体在初中数学中的运用研究》课题研究报告
  14. java-php-python-ssm无人智慧药柜系统设计计算机毕业设计
  15. photoshop--PS拼图
  16. java 字符串4%3e=3,gson 生成的json字符串带\u003c,\u003d,\u003e的解决方案
  17. jqgrid冻结前后列
  18. 推荐一款高效的处理延迟任务神器
  19. 《深入理解计算机系统》——低谷中的重新振作
  20. ls200_铁三角 LS200 双动铁入耳式耳机 个人客观听感(附IM02听感对比)

热门文章

  1. 塑料微管的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  2. 2008-2020年数据上市公司高管团队异质性数据包含Stata代码
  3. 【C语言刷LeetCode】2126. 摧毁小行星(M)
  4. MySQL学习的第一天 查询
  5. matlab画一个正弦波,在MATLAB画出一个正弦波
  6. 关于北京地区2009年度计算机技术与软件专业技术资格(水平)考试有关问题的通知
  7. 高管股权激励的最优设计方案
  8. android 手机扔起来的高度,三防AGM X2评测:吴京硬汉本色扔海里也不怕
  9. Java 中添加背景音乐
  10. Modern OpenGL绘制圆柱体