如何使用Tensorflow訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比劍河網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式劍河網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋劍河地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。

制作自己的訓(xùn)練集

下圖是我們數(shù)據(jù)的存放格式,在data目錄下有驗(yàn)證集與測(cè)試集分別對(duì)應(yīng)iris_test, iris_train

如何使用Tensorflow訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存

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

如何使用Tensorflow訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存

classification_index.jpg

圖像的index都是5的整數(shù)倍是因?yàn)槲覀冞x擇測(cè)試集的原則是每5個(gè)樣本,選擇一個(gè)樣本作為測(cè)試集,其余的作為訓(xùn)練集和驗(yàn)證集

生成這樣數(shù)據(jù)的過程相對(duì)簡(jiǎn)單,如果有需要python代碼的,可以給我發(fā)郵件,或者在我的github下載

至此,我們的訓(xùn)練集,測(cè)試集,驗(yàn)證集就生成成功了,之所以我們的文件夾只有訓(xùn)練集和測(cè)試集是因?yàn)槲覀冊(cè)诤罄m(xù)的訓(xùn)練過程中,會(huì)在訓(xùn)練集中分出一部分作為驗(yàn)證集,所以兩者暫時(shí)合稱為訓(xùn)練集

將數(shù)據(jù)集寫入到Tensorflow中

1. 直接寫入到隊(duì)列中

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

為了大家更方便的理解和修改代碼,我們對(duì)代碼進(jìn)行講解如下

1-3行 : 導(dǎo)入需要的模塊
5行: 定義訓(xùn)練集合的位置,這個(gè)需要根據(jù)自己的機(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為一個(gè)數(shù)組,由于我們根據(jù)MINIST來定制的圖片名詞,所以file.split(‘_')會(huì)將圖像名稱分為兩部分,第一部分為classification,通過name[0]來獲得分類信息。
21行、24行:iris.append(file_dir + file)/contact.append(file_dir + file)將圖像的絕對(duì)路徑放入到iris/contact
22行、25行:label_iris.append(0)/label_contact.append(1)給對(duì)應(yīng)的圖片貼標(biāo)簽
28-29行:將二分類的圖像與標(biāo)簽壓入到list中
31-33行:合并二分類圖像,然后打亂
38行:返回打亂后對(duì)應(yīng)的圖像與標(biāo)簽

在spyder下執(zhí)行如上代碼后會(huì)返回如下信息

如何使用Tensorflow訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存

這樣圖像和標(biāo)簽信息就被load到了內(nèi)存中,我們接下來就可以利用現(xiàn)有的模型對(duì)圖像進(jìn)行分類訓(xùn)練,模型的選擇和訓(xùn)練的過程,我們會(huì)在后面進(jìn)行講解。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用Tensorflow訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司,關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計(jì)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享文章:如何使用Tensorflow訓(xùn)練自己的數(shù)據(jù)集將數(shù)據(jù)直接導(dǎo)入到內(nèi)存-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://muchs.cn/article2/pcjic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站網(wǎng)站維護(hù)、微信公眾號(hào)、網(wǎng)站建設(shè)企業(yè)建站、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)