這篇文章主要介紹了如何使用Tensorflow訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

制作自己的訓(xùn)練集
下圖是我們數(shù)據(jù)的存放格式,在data目錄下有驗證集與測試集分別對應(yīng)iris_test, iris_train

為了向偉大的MNIST致敬,我們采用的數(shù)據(jù)名稱格式和MNIST類似

classification_index.jpg
圖像的index都是5的整數(shù)倍是因為我們選擇測試集的原則是每5個樣本,選擇一個樣本作為測試集,其余的作為訓(xùn)練集和驗證集
生成這樣數(shù)據(jù)的過程相對簡單,如果有需要python代碼的,可以給我發(fā)郵件,或者在我的github下載
至此,我們的訓(xùn)練集,測試集,驗證集就生成成功了,之所以我們的文件夾只有訓(xùn)練集和測試集是因為我們在后續(xù)的訓(xùn)練過程中,會在訓(xùn)練集中分出一部分作為驗證集,所以兩者暫時合稱為訓(xùn)練集
將數(shù)據(jù)集寫入到Tensorflow中
1. 直接寫入到隊列中
import tensorflow as tf
import numpy as np
import os
train_dir = '/home/ruyiwei/data/iris_train/'#your data directory
def get_files(file_dir):
'''
Args:
file_dir: file directory
Returns:
list of images and labels
'''
iris = []
label_iris = []
contact = []
label_contact = []
for file in os.listdir(file_dir):
name = file.split('_')
if name[0]=="iris":
iris.append(file_dir + file)
label_iris.append(0)
else:
contact.append(file_dir + file)
label_contact.append(1)
print('There are %d iris\nThere are %d contact' %(len(iris), len(contact)))
image_list = np.hstack((iris, contact))
label_list = np.hstack((label_iris, label_contact))
temp = np.array([image_list, label_list])
temp = temp.transpose()
np.random.shuffle(temp)
image_list = list(temp[:, 0])
label_list = list(temp[:, 1])
label_list = [int(i) for i in label_list]
return image_list, label_list為了大家更方便的理解和修改代碼,我們對代碼進(jìn)行講解如下
1-3行 : 導(dǎo)入需要的模塊
5行: 定義訓(xùn)練集合的位置,這個需要根據(jù)自己的機器進(jìn)行修改
7行: 定義函數(shù) get_files
18行: os.listdir(file_dir) 獲取指定目錄file_dir下的所有文件名詞,也就是我們的訓(xùn)練圖片名稱
18行:for file in os.listdir(file_dir): 遍歷所有的圖片
19行: name為一個數(shù)組,由于我們根據(jù)MINIST來定制的圖片名詞,所以file.split(‘_')會將圖像名稱分為兩部分,第一部分為classification,通過name[0]來獲得分類信息。
21行、24行:iris.append(file_dir + file)/contact.append(file_dir + file)將圖像的絕對路徑放入到iris/contact中
22行、25行:label_iris.append(0)/label_contact.append(1)給對應(yīng)的圖片貼標(biāo)簽
28-29行:將二分類的圖像與標(biāo)簽壓入到list中
31-33行:合并二分類圖像,然后打亂
38行:返回打亂后對應(yīng)的圖像與標(biāo)簽
在spyder下執(zhí)行如上代碼后會返回如下信息

這樣圖像和標(biāo)簽信息就被load到了內(nèi)存中,我們接下來就可以利用現(xiàn)有的模型對圖像進(jìn)行分類訓(xùn)練,模型的選擇和訓(xùn)練的過程,我們會在后面進(jìn)行講解。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用Tensorflow訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享文章:如何使用Tensorflow訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://www.chinadenli.net/article2/pcjic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站維護(hù)、微信公眾號、網(wǎng)站建設(shè)、企業(yè)建站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容