成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

caffe的python插口形成環(huán)境變量學(xué)習(xí)培訓(xùn)

89542767 / 406人閱讀

  此篇文章主要是詳細(xì)介紹了caffe的python插口形成環(huán)境變量學(xué)習(xí)培訓(xùn),感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪


  caffe是C++語言表達(dá)所寫的,可能大家不太熟,所以想要更方便的編程語言來達(dá)到。caffe給予matlab接口和python插口,這幾種語言表達(dá)就比較簡(jiǎn)單,并且很容易開展數(shù)據(jù)可視化,導(dǎo)致學(xué)習(xí)培訓(xùn)更為迅速,了解更加深刻。


  一年前,我在學(xué)習(xí)CAFFE時(shí),為了能加深記憶,所以寫出了生活隨筆,擁有多方面的caffe學(xué)習(xí)文章內(nèi)容。大半年以往,好多人問起關(guān)于python插口和數(shù)據(jù)可視化的相關(guān)問題,如今有點(diǎn)兒空余時(shí)間,就再度寫出某些生活隨筆,各位一起學(xué)習(xí)。有一些重復(fù)具體內(nèi)容,我也就不多說,如果你們感興趣的話可換步:


  上面這些實(shí)際操作全是練習(xí)以前的預(yù)備處理實(shí)際操作,不論是用哪種插口,都會(huì)用到。


  要怎么寫環(huán)境變量


  最先,我們應(yīng)該把握的,便是要怎么寫環(huán)境變量,根據(jù)下方的編碼去學(xué)習(xí):

  #-*-coding:utf-8-*-
  """
  SpyderEditor
  """
  fromcaffeimportlayersasL,paramsasP,to_proto
  path='/home/xxx/data/'#保存數(shù)據(jù)和配置文件的路徑
  train_lmdb=path+'train_db'#訓(xùn)練數(shù)據(jù)LMDB文件的位置
  val_lmdb=path+'val_db'#驗(yàn)證數(shù)據(jù)LMDB文件的位置
  mean_file=path+'mean.binaryproto'#均值文件的位置
  train_proto=path+'train.prototxt'#生成的訓(xùn)練配置文件保存的位置
  val_proto=path+'val.prototxt'#生成的驗(yàn)證配置文件保存的位置
  #編寫一個(gè)函數(shù),用于生成網(wǎng)絡(luò)
  defcreate_net(lmdb,batch_size,include_acc=False):
  #創(chuàng)建第一層:數(shù)據(jù)層。向上傳遞兩類數(shù)據(jù):圖片數(shù)據(jù)和對(duì)應(yīng)的標(biāo)簽
  data,label=L.Data(source=lmdb,backend=P.Data.LMDB,batch_size=batch_size,ntop=2,
  transform_param=dict(crop_size=40,mean_file=mean_file,mirror=True))
  #創(chuàng)建第二屋:卷積層
  conv1=L.Convolution(data,kernel_size=5,stride=1,num_output=16,pad=2,weight_filler=dict(type='xavier'))
  #創(chuàng)建激活函數(shù)層
  relu1=L.ReLU(conv1,in_place=True)
  #創(chuàng)建池化層
  pool1=L.Pooling(relu1,pool=P.Pooling.MAX,kernel_size=3,stride=2)
  conv2=L.Convolution(pool1,kernel_size=3,stride=1,num_output=32,pad=1,weight_filler=dict(type='xavier'))
  relu2=L.ReLU(conv2,in_place=True)
  pool2=L.Pooling(relu2,pool=P.Pooling.MAX,kernel_size=3,stride=2)
  #創(chuàng)建一個(gè)全連接層
  fc3=L.InnerProduct(pool2,num_output=1024,weight_filler=dict(type='xavier'))
  relu3=L.ReLU(fc3,in_place=True)
  #創(chuàng)建一個(gè)dropout層
  drop3=L.Dropout(relu3,in_place=True)
  fc4=L.InnerProduct(drop3,num_output=10,weight_filler=dict(type='xavier'))
  #創(chuàng)建一個(gè)softmax層
  loss=L.SoftmaxWithLoss(fc4,label)
  ifinclude_acc:#在訓(xùn)練階段,不需要accuracy層,但是在驗(yàn)證階段,是需要的
  acc=L.Accuracy(fc4,label)
  returnto_proto(loss,acc)
  else:
  returnto_proto(loss)
  defwrite_net():
  #將以上的設(shè)置寫入到prototxt文件
  withopen(train_proto,'w')asf:
  f.write(str(create_net(train_lmdb,batch_size=64)))
  #寫入配置文件
  withopen(val_proto,'w')asf:
  f.write(str(create_net(val_lmdb,batch_size=32,include_acc=True)))
  if__name__=='__main__':
  write_net()

  根據(jù)以上這一文件信息實(shí)行,大家就能得到2個(gè)環(huán)境變量:train.prototxt和val.prototxt,各自用以練習(xí)環(huán)節(jié)和檢驗(yàn)環(huán)節(jié)。


  圖片格式轉(zhuǎn)換成LMDB文檔


  這種方法形成環(huán)境變量,務(wù)必有一個(gè)前提條件,便是首先要把原始圖片轉(zhuǎn)變成LMDB文檔才能。假如我們已經(jīng)將原始圖片做成一個(gè)1個(gè)目錄明細(xì)(txt文件,一列一張照片),則可以不LMDB文件格式做為錄入數(shù)據(jù),能用ImageData做為數(shù)據(jù)庫鍵入,編碼如下所示:


  #-*-coding:utf-8-*-
  fromcaffeimportlayersasL,paramsasP,to_proto
  path='/home/xxx/data/'
  train_list=path+'train.txt'
  val_list=path+'val.txt'
  train_proto=path+'train.prototxt'
  val_proto=path+'val.prototxt'
  defcreate_net(img_list,batch_size,include_acc=False):
  data,label=L.ImageData(source=img_list,batch_size=batch_size,new_width=48,new_height=48,ntop=2,
  transform_param=dict(crop_size=40,mirror=True))
  conv1=L.Convolution(data,kernel_size=5,stride=1,num_output=16,pad=2,weight_filler=dict(type='xavier'))
  relu1=L.ReLU(conv1,in_place=True)
  pool1=L.Pooling(relu1,pool=P.Pooling.MAX,kernel_size=3,stride=2)
  conv2=L.Convolution(pool1,kernel_size=53,stride=1,num_output=32,pad=1,weight_filler=dict(type='xavier'))
  relu2=L.ReLU(conv2,in_place=True)
  pool2=L.Pooling(relu2,pool=P.Pooling.MAX,kernel_size=3,stride=2)
  conv3=L.Convolution(pool2,kernel_size=53,stride=1,num_output=32,pad=1,weight_filler=dict(type='xavier'))
  relu3=L.ReLU(conv3,in_place=True)
  pool3=L.Pooling(relu3,pool=P.Pooling.MAX,kernel_size=3,stride=2)
  fc4=L.InnerProduct(pool3,num_output=1024,weight_filler=dict(type='xavier'))
  relu4=L.ReLU(fc4,in_place=True)
  drop4=L.Dropout(relu4,in_place=True)
  fc5=L.InnerProduct(drop4,num_output=7,weight_filler=dict(type='xavier'))
  loss=L.SoftmaxWithLoss(fc5,label)
  ifinclude_acc:
  acc=L.Accuracy(fc5,label)
  returnto_proto(loss,acc)
  else:
  returnto_proto(loss)
  defwrite_net():
  #
  withopen(train_proto,'w')asf:
  f.write(str(create_net(train_list,batch_size=64)))
  #
  withopen(val_proto,'w')asf:
  f.write(str(create_net(val_list,batch_size=32,include_acc=True)))
  if__name__=='__main__':
  write_net()


  即第1層從原來的Data類型,成了ImageData類型,不用LMDB文件或平均值文檔,但是需要1個(gè)txt文件。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/128811.html

相關(guān)文章

  • caffepython插口形成solver文件詳細(xì)說明學(xué)習(xí)培訓(xùn)

      本文主要是給大家介紹了caffe的python插口形成solver文件詳細(xì)說明學(xué)習(xí)培訓(xùn)實(shí)例,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的不斷進(jìn)步,盡早漲薪  也有一些基本參數(shù)必須計(jì)算出來的,并不是亂設(shè)定?! olver.prototxt的文件參數(shù)設(shè)置  caffe在訓(xùn)練的時(shí)候,需要一些參數(shù)設(shè)置,我們一般將這些參數(shù)設(shè)置在一個(gè)叫solver.prototxt的文件里面,如...

    89542767 評(píng)論0 收藏0
  • caffepython接口deploy形成caffemodel歸類新圖片

      本文主要是給大家介紹了caffe的python插口生成deploy文件學(xué)習(xí)培訓(xùn)及其用練習(xí)好一點(diǎn)的實(shí)體模型(caffemodel)來歸類新的圖片實(shí)例詳細(xì)說明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪  caffe的python插口生成deploy文件  假如要將練習(xí)好一點(diǎn)的實(shí)體模型用于檢測(cè)新的圖片,那必然必須得一個(gè)deploy.prototxt文件,這一...

    89542767 評(píng)論0 收藏0
  • caffepython插口之手寫數(shù)字識(shí)別mnist案例

      文中主要是給大家介紹了caffe的python插口之手寫數(shù)字識(shí)別mnist案例詳細(xì)說明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪  論文引言  機(jī)器學(xué)習(xí)第一個(gè)案例一般都是是mnist,只需這個(gè)案例徹底搞懂了,其他的便是觸類旁通的事了。因?yàn)樽謹(jǐn)?shù)緣故,文中不簡(jiǎn)單介紹環(huán)境變量里邊每一個(gè)指標(biāo)的具體函義,如果要搞明白的,請(qǐng)參考我之前的微博文章:  數(shù)據(jù)訪問層及主...

    89542767 評(píng)論0 收藏0
  • python格式Caffe圖片數(shù)據(jù)信息均值測(cè)算學(xué)習(xí)培訓(xùn)

      此篇文章關(guān)鍵給大家介紹了python格式Caffe圖片數(shù)據(jù)信息均值測(cè)算學(xué)習(xí)培訓(xùn)實(shí)例詳細(xì)說明,感興趣的小伙伴可以參考借鑒一下,希望可以一些幫助,祝愿大家多多的發(fā)展,盡早漲薪  前言  照片減掉均值后,然后再進(jìn)行練習(xí)和檢測(cè),也會(huì)提高速度與精密度。因而,通常在各類實(shí)體模型中都有這種操作?! ∧敲催@樣的均值是怎么來的呢,實(shí)際上是測(cè)算全部svm分類器的均值,計(jì)算出來后,儲(chǔ)存為均值文檔,在今后的檢測(cè)中,就...

    89542767 評(píng)論0 收藏0
  • caffepython插口制作loss和accuracy曲線圖

      此篇文章主要是給大家介紹了caffe的python插口制作loss和accuracy曲線圖實(shí)例詳細(xì)說明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪  前言  使用python插口來運(yùn)行caffe程序流程,根本原因是python很容易數(shù)據(jù)可視化。所以才建議大家在cmd下邊運(yùn)行python程序流程。如果一定要在cmd下邊運(yùn)作,不如直接用c++算了?! ?qiáng)烈推...

    89542767 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<