zoukankan      html  css  js  c++  java
  • MNIST多图显示--Python练习

    在学习TensorFlow框架时,提到用MNIST手写数字数据库进行练习,为了更直观看下里面的数据到底长啥样,用OpenCV(cv2)中的imshow函数来进行显示。

    默认已经安装: numpy、tensorflow、cv2

    1--首先是根据Tensorflow官网的方法获得数据库:

    1 from tensorflow.examples.tutorials.mnist import input_data
    2 mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

    现在mnist对象已经拥有MNIST数据库的训练集和测试集。

    2--进行单张显示比较容易,如下代码:

    1 import cv2
    2 # display one database image
    3 im = mnist.test.images[0].reshape(28, 28)
    4 cv2.imshow("demo", im)
    5 cv2.waitKey(0)
    6 cv2.destroyAllWindows()

    显示结果为:

    3--单张显示太单调(图像大小28x28),可以尝试多张网格排列显示。

    • 起先考虑从数据库中取出100张,然后根据取出顺序确定在哪行哪列,最后合成大图,但根据顺序直接确定该图像位置有点困难
    • 换个思路:先确定网格位置,再从数据库中选取一张插入,似乎简单了许多

     代码如下:

    import cv2
    import numpy as np
    
    #per row 10 patches, per col 10 patches
    BigIm = np.zeros((280, 280))
    index = 0
    for i in range(10):
        for j in range(10):
            temp = mnist.train.images[index].reshape(28, 28)
            BigIm[28*i:28*(i+1), 28*j:28*(j+1)] = temp
            index += 1
    
    cv2.imshow("demo", BigIm)
    cv2.waitKey(0)

    结果如下:

     看了数据库的样子,接下来可以愉快地进行深度学习了~

  • 相关阅读:
    MTK android flash配置
    MTK平台缩写
    百度员工离职总结:如何做个好员工
    android 分区layout以及虚拟内存布局-小结
    Android eMMC Booting
    Android gingerbread eMMC booting
    Chrome插件开发
    jsonp解决CORS问题
    【好玩】将js代码转为日式表情
    多行文本溢出显示省略号(...)的方法
  • 原文地址:https://www.cnblogs.com/mjk961/p/7805743.html
Copyright © 2011-2022 走看看