中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TensorFlow通過文件名/文件夾名獲取標簽,并加入隊列的實現

發布時間:2020-10-16 03:22:37 來源:腳本之家 閱讀:301 作者:lsjweiyi 欄目:開發技術

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

這里當然可以吧數據轉化成cifar-10那種類型,不過個人不喜歡這種方式吧。

另一種就還是老辦法,對文件名進行處理,獲取標簽。

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

看代碼:

import tensorflow as tf
import os

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

classes=2#數據類別的數量
imagesList=[]#存放圖片數據的列表(這里存放的僅僅是圖片所在的路徑,并不是圖片)
labelsList=[]#存放標簽,與上面圖片是一一對應的
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)#轉化成tf的數據類型
label = tf.cast(labelsList,tf.int64)
queue = tf.train.slice_input_producer([image,label])#生成隊列,這里也就關鍵的地方
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]) #這個函數是重塑行,具體干嘛不清楚,不用有時報錯
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() #創建一個協調器,管理線程 
 threads = tf.train.start_queue_runners(coord=coord) #啟動QueueRunner, 此時文件名隊列已經進隊。 
 for i in range(6): 
  e_val,l_val = sess.run([example_batch, label_batch]) 
  print (e_val,l_val)#弄些簡單的數據來測試效果。

 coord.request_stop() 
 coord.join(threads) 

以上這篇TensorFlow通過文件名/文件夾名獲取標簽,并加入隊列的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临汾市| 合山市| 陆川县| 屯门区| 凤山市| 达日县| 恩平市| 随州市| 桃源县| 南昌市| 丰台区| 德昌县| 五原县| 平顶山市| 卓尼县| 弋阳县| 西畴县| 勃利县| 仁怀市| 西乌珠穆沁旗| 昭苏县| 通州市| 边坝县| 宣化县| 彭泽县| 田阳县| 南溪县| 汉川市| 浦城县| 浑源县| 巍山| 丰顺县| 淮安市| 麦盖提县| 兴业县| 滕州市| 阳原县| 广丰县| 阿坝| 开封市| 夹江县|