欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TensorFlow通過文件名/文件夾名獲取標(biāo)簽,并加入隊列的實現(xiàn)

 更新時間:2020年02月17日 08:36:25   作者:lsjweiyi  
今天小編就為大家分享一篇TensorFlow通過文件名/文件夾名獲取標(biāo)簽,并加入隊列的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

TensorFlow官網(wǎng)給的cifar-10教程,是卷積神經(jīng)網(wǎng)絡(luò)入門的好例子,有時想直接拿這個模型來跑自己的數(shù)據(jù),卻發(fā)現(xiàn)他的數(shù)據(jù)類型不是常見的,我們一般獲取的數(shù)據(jù)(圖片)以文件夾分類存好,或者直接在文件名上注明了類別,這時就要通過文件名的來獲取標(biāo)簽,顯然直接用cifar-10的方式是不行的。

這里當(dāng)然可以吧數(shù)據(jù)轉(zhuǎn)化成cifar-10那種類型,不過個人不喜歡這種方式吧。

另一種就還是老辦法,對文件名進(jìn)行處理,獲取標(biāo)簽。

其實處理文件名,對python來說,很簡單。只是剛接觸卷積神經(jīng)網(wǎng)絡(luò)的,可能并不熟悉TensorFlow的用法(本人),怎么修改代碼才能以這種方式讀取數(shù)據(jù)進(jìn)隊列呢?

看代碼:

import tensorflow as tf
import os

#這就是數(shù)據(jù)所在的路徑,其子目錄是若干個文件夾,分別對應(yīng)一類數(shù)據(jù),
#文件夾下存放的就是對應(yīng)那一類的數(shù)據(jù)。
#命名方式:1,2,3,4····(代表不同的類別,簡單粗暴)
path="./data"

classes=2#數(shù)據(jù)類別的數(shù)量
imagesList=[]#存放圖片數(shù)據(jù)的列表(這里存放的僅僅是圖片所在的路徑,并不是圖片)
labelsList=[]#存放標(biāo)簽,與上面圖片是一一對應(yīng)的
filepaths=[os.path.join(path,"%d"%i)for i in range (1,classes+1)]#存放path的子目錄的路徑
for p in filepaths:
 for filename in os.listdir(p):#獲取圖片的名字
  imagesList.append(os.path.join(p,filename))#圖片名和路徑拼接,然后如隊列
  labelsList.append(int(p[-1]))#這里是按照命名的方式,p的最后一個字符就是類別

image = tf.cast(imagesList,tf.string)#轉(zhuǎn)化成tf的數(shù)據(jù)類型
label = tf.cast(labelsList,tf.int64)
queue = tf.train.slice_input_producer([image,label])#生成隊列,這里也就關(guān)鍵的地方
label = queue[1]
image_c = tf.read_file(queue[0])
image = tf.image.decode_jpeg(image_c,channels = 3)
training_image_data = tf.image.resize_images(image, [2, 2]) #這個函數(shù)是重塑行,具體干嘛不清楚,不用有時報錯
example_batch, label_batch = tf.train.shuffle_batch([training_image_data,label], batch_size=1, capacity=2, min_after_dequeue=1) #生成Batch
# 運行Graph 
with tf.Session() as sess: 
 coord = tf.train.Coordinator() #創(chuàng)建一個協(xié)調(diào)器,管理線程 
 threads = tf.train.start_queue_runners(coord=coord) #啟動QueueRunner, 此時文件名隊列已經(jīng)進(jìn)隊。 
 for i in range(6): 
  e_val,l_val = sess.run([example_batch, label_batch]) 
  print (e_val,l_val)#弄些簡單的數(shù)據(jù)來測試效果。

 coord.request_stop() 
 coord.join(threads) 

以上這篇TensorFlow通過文件名/文件夾名獲取標(biāo)簽,并加入隊列的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python類的繼承用法示例

    Python類的繼承用法示例

    這篇文章主要介紹了Python類的繼承用法,結(jié)合實例形式分析了Python類的定義、繼承等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Python json轉(zhuǎn)字典字符方法實例解析

    Python json轉(zhuǎn)字典字符方法實例解析

    這篇文章主要介紹了Python json轉(zhuǎn)字典字符代碼實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Python requests上傳文件實現(xiàn)步驟

    Python requests上傳文件實現(xiàn)步驟

    這篇文章主要介紹了Python requests上傳文件實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • python copy模塊中的函數(shù)實例用法

    python copy模塊中的函數(shù)實例用法

    在本篇內(nèi)容里小編給大家整理了關(guān)于python copy模塊的基礎(chǔ)知識點及實例用法,有需要的朋友們可以跟著學(xué)習(xí)下。
    2021-09-09
  • python編程調(diào)用設(shè)備串口發(fā)送數(shù)據(jù)方式

    python編程調(diào)用設(shè)備串口發(fā)送數(shù)據(jù)方式

    這篇文章主要介紹了python編程調(diào)用設(shè)備串口發(fā)送數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python中json.dumps()函數(shù)使用和示例

    Python中json.dumps()函數(shù)使用和示例

    這篇文章主要介紹了Python中json.dumps()函數(shù)使用和示例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • jupyter 實現(xiàn)notebook中顯示完整的行和列

    jupyter 實現(xiàn)notebook中顯示完整的行和列

    這篇文章主要介紹了jupyter 實現(xiàn)notebook中顯示完整的行和列,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python入門教程(二十)Python的Lambda表達(dá)式

    Python入門教程(二十)Python的Lambda表達(dá)式

    這篇文章主要介紹了Python入門教程(二十)Python的Lambda表達(dá)式,lambda表達(dá)式是一行的函數(shù)。它們在其他語言中也被稱為匿名函數(shù),lambda表達(dá)式非常有用,可以讓代碼簡單,簡潔,需要的朋友可以參考下
    2023-04-04
  • python獲取地震信息 微信實時推送

    python獲取地震信息 微信實時推送

    這篇文章主要為大家詳細(xì)介紹了python獲取地震信息,微信實時推送,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • pandas groupby + unstack的使用說明

    pandas groupby + unstack的使用說明

    這篇文章主要介紹了pandas groupby + unstack的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論