日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何从TensorFlow的mnist数据集导出手写体数字图片

發布時間:2023/12/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何从TensorFlow的mnist数据集导出手写体数字图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在TensorFlow的官方入門課程中,多次用到mnist數據集。

mnist數據集是一個數字手寫體圖片庫,但它的存儲格式并非常見的圖片格式,所有的圖片都集中保存在四個擴展名為idx3-ubyte的二進制文件。

如果我們想要知道大名鼎鼎的mnist手寫體數字都長什么樣子,就需要從mnist數據集中導出手寫體數字圖片。了解這些手寫體的總體形狀,也有助于加深我們對TensorFlow入門課程的理解。

下面先給出通過TensorFlow api接口導出mnist手寫體數字圖片的python代碼,再對代碼進行分析。代碼在win7下測試通過,linux環境也可以參考本處代碼。

(非常良心的注釋和打印有木有)

#!/usr/bin/python3.5 # -*- coding: utf-8 -*-import os import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_datafrom PIL import Image# 聲明圖片寬高 rows = 28 cols = 28# 要提取的圖片數量 images_to_extract = 8000# 當前路徑下的保存目錄 save_dir = "./mnist_digits_images"# 讀入mnist數據 mnist = input_data.read_data_sets("MNIST_data/", one_hot=False)# 創建會話 sess = tf.Session()# 獲取圖片總數 shape = sess.run(tf.shape(mnist.train.images)) images_count = shape[0] pixels_per_image = shape[1]# 獲取標簽總數 shape = sess.run(tf.shape(mnist.train.labels)) labels_count = shape[0]# mnist.train.labels是一個二維張量,為便于后續生成數字圖片目錄名,有必要一維化(后來發現只要把數據集的one_hot屬性設為False,mnist.train.labels本身就是一維) #labels = sess.run(tf.argmax(mnist.train.labels, 1)) labels = mnist.train.labels# 檢查數據集是否符合預期格式 if (images_count == labels_count) and (shape.size == 1):print ("數據集總共包含 %s 張圖片,和 %s 個標簽" % (images_count, labels_count))print ("每張圖片包含 %s 個像素" % (pixels_per_image))print ("數據類型:%s" % (mnist.train.images.dtype))# mnist圖像數據的數值范圍是[0,1],需要擴展到[0,255],以便于人眼觀看if mnist.train.images.dtype == "float32":print ("準備將數據類型從[0,1]轉為binary[0,255]...")for i in range(0,images_to_extract):for n in range(pixels_per_image):if mnist.train.images[i][n] != 0:mnist.train.images[i][n] = 255# 由于數據集圖片數量龐大,轉換可能要花不少時間,有必要打印轉換進度if ((i+1)%50) == 0:print ("圖像浮點數值擴展進度:已轉換 %s 張,共需轉換 %s 張" % (i+1, images_to_extract))# 創建數字圖片的保存目錄for i in range(10):dir = "%s/%s/" % (save_dir,i)if not os.path.exists(dir):print ("目錄 ""%s"" 不存在!自動創建該目錄..." % dir)os.makedirs(dir)# 通過python圖片處理庫,生成圖片indices = [0 for x in range(0, 10)]for i in range(0,images_to_extract):img = Image.new("L",(cols,rows))for m in range(rows):for n in range(cols):img.putpixel((n,m), int(mnist.train.images[i][n+m*cols]))# 根據圖片所代表的數字label生成對應的保存路徑digit = labels[i]path = "%s/%s/%s.bmp" % (save_dir, labels[i], indices[digit])indices[digit] += 1img.save(path)# 由于數據集圖片數量龐大,保存過程可能要花不少時間,有必要打印保存進度if ((i+1)%50) == 0:print ("圖片保存進度:已保存 %s 張,共需保存 %s 張" % (i+1, images_to_extract))else:print ("圖片數量和標簽數量不一致!")

上述代碼的實現思路如下:

1.讀入mnist手寫體數據;

2.把數據的值從[0,1]浮點范圍轉化為黑白格式(背景為0-黑色,前景為255-白色);

3.根據mnist.train.labels的內容,生成數字索引,也就是建立每一張圖片和其所代表數字的關聯,由此創建對應的保存目錄;

4.循環遍歷mnist.train.images,把每張圖片的像素數據賦值給python圖片處理庫PIL的Image類實例,再調用Image類的save方法把圖片保存在第3步驟中創建的對應目錄。

?

在運行上述代碼之前,你需要確保本地已經安裝python的圖片處理庫PIL,pip安裝命令如下:

pip3 install Pillow

或 pip install Pillow,取決于你的pip版本。

?

上述python代碼運行后,在當前目錄下會生成mnist_digits_images目錄,在該目錄下,可以看到如下內容:

可以看到,我們成功地生成了黑底白字的數字圖片。

如果仔細觀察這些圖片,會看到一些肉眼也難以分辨的數字,譬如:


上面這幾個數字是2。想不到吧?

下面這兩個是5(看起來更像6):


這個是7:(7長這樣?有句MMP不知當講不當講)


猜猜下面這個是什么:

這是大寫的L?不是。

有點像1,是1嗎?也不是。

倒立拉粑的7?sorry,又猜錯了。

實話告訴您,它是2!一開始我也是不相信的,知道真相的那一刻我下巴差點掉下來!


這些手寫圖片,一般人用肉眼觀察,識別率能達到98%就不錯了,但是通過TensorFlow搭建的卷積神經網絡識別率可以達到99%,非常地神奇!

總結

以上是生活随笔為你收集整理的如何从TensorFlow的mnist数据集导出手写体数字图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 少妇2做爰交换朴银狐 | 99热18| 九九综合九九综合 | www.香蕉视频.com | 三级无遮挡 | 中文字幕乱码中文乱码777 | 黄色免费视频 | 国产精品美女www | 国产精品第五页 | 香蕉视频91 | 播播成人网 | 日本在线观看一区 | av999| 成年人国产 | 国产人妻人伦精品1国产丝袜 | 曰本丰满熟妇xxxx性 | 亚洲免费看片 | 国产 欧美 自拍 | 91九色偷拍 | 在线免费精品 | 中国黄色三级视频 | 人人干人人做 | 国产精品美女www爽爽爽 | 一级黄色大片网站 | 精品97人妻无码中文永久在线 | 真人毛片视频 | 99热在线免费观看 | 日韩欧美v | 日本人添下边视频免费 | 国产99久一区二区三区a片 | 黄色一级片视频 | 大黄网站在线观看 | 日韩裸体视频 | 人人色网 | 在线免费成人 | 九九热这里有精品视频 | 日本欧美另类 | 男人插入女人阴道视频 | 日本免费在线观看 | 欧美一区二区公司 | 少妇特黄一区二区三区 | 在线免费av网 | 老太婆av | 91精东传媒理伦片在线观看 | 亚洲激情视频小说 | 久久看av| 亚洲欧美国产毛片在线 | 免费日韩av | 中文字幕精 | 欧美午夜精品理论片 | 另类小说婷婷 | 免费超爽大片黄 | 夜夜夜网 | 色欲av无码一区二区三区 | 中文字幕网伦射乱中文 | 影音先锋欧美在线 | 97成人人妻一区二区三区 | 处女朱莉 | 少妇毛片一区二区三区 | 成人做爰69片免费看 | 亚洲第一免费播放区 | 性高湖久久久久久久久aaaaa | 欧美bbbbb性bbbbb视频 | 亚洲区小说区图片区 | 精品香蕉一区二区三区 | 97超碰在线播放 | 美女视频黄a视频全免费观看 | 少妇无码一区二区三区免费 | 日本少妇喂奶 | 精品人妻一区二区三区日产乱码卜 | 男人与雌性宠物交啪啪 | 成人 黄 色 免费播放 | 亚欧美视频 | 欧美黑人精品一区二区 | 香蕉视频在线观看免费 | 日韩欧美麻豆 | 亚洲熟妇av日韩熟妇在线 | 久久久久一级 | 在线观看麻豆 | 乱色熟女综合一区二区三区 | 国产免费看 | 蜜臀久久99精品久久久久久宅男 | 又嫩又硬又黄又爽的视频 | 国产精品毛片一区二区在线看舒淇 | 中文字幕在线观看第二页 | 亚洲精品在线一区二区 | 自拍中文字幕 | 午夜理伦三级理论 | 今天高清视频在线观看视频 | 亚欧成人在线 | 成人免费高清在线播放 | 国产日韩欧美视频在线 | 台湾色综合 | 丰满人妻熟妇乱偷人无码 | 欧美36p | 亚洲一区二区在线免费观看 | 日韩美女av在线 | 老湿影院av | 男女无套免费视频网站动漫 |