日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

caffe实战笔记

發布時間:2025/3/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 caffe实战笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Caffe簡要介紹:

Caffe還沒有windows版本,所以我需要遠程登錄linux服務器

Caffe主要處理圖片/圖片序列

?Caffe讀取的數據格式

從專用的數據庫中讀取(lmdbleveldb)

直接讀取圖片

從內存中讀取(會占很多內存)

HDF5文件中讀取

從滑動窗口中讀取(在大圖中滑動一次作為一張小圖)

最常用的是前面兩種方式。默認是從lmdb數據庫格式中讀取,因此需要先把圖片文件轉換成lmdb格式文件。直接讀取圖片會導致無法減均值。如果不考慮減均值的情況,可直接讀取圖片。

?Caffe操作1----準備數據

Step1:得到文件列表清單

?

上面的圖片源自FER庫,其中單張圖表示一個表情,寫代碼自動生成txt文檔

Step2:轉換成imdb格式

命令原理:

?

其中包括上面四個參數,粉色參數可以選擇不設,其中--表示可以不調整

實際操作:

在根目錄home下的/caffe路徑下打開終端,輸入sudo命令,輸入密碼,進入最大權限:

?

輸入命令:(輸入時注意空格)

?

caffe中,作者為我們提供了這樣一個文件:convert_imageset.cpp,存放在根目錄下的tools文件夾下。編譯之后,生成對應的可執行文件放在?buile/tools/?下面,這個文件的作用就是用于將圖片文件轉換成caffe框架中能直接使用的imdb文件。

屏幕上顯示:

?

查看結果:

在目標目錄下新增了我命名的一個文件夾

?

文件夾里包括兩個子文件,data.mdb存放數據;lock.mdb存放標簽

?

基礎知識補充

Linux下的文件夾與目錄

/home

根目錄,分區時分得最大

/bin

存放系統命令

/user

最大的目錄,存放應用程序和文件

/etc

存放配置文件

/dev

設備特殊文件

/mnt

用于臨時掛載硬盤、光盤

/src

里面放源文件如cpp

如何生成train.txt文件以及如何在轉imdb格式時調整圖片格式,見:http://www.cnblogs.com/denny402/p/5082341.html

Step3:計算均值

減去均值,可以提高精度。當然也可以選擇不減均值。

擴展名必須是binaryproto

實際代碼:

?

其中包括兩個參數,一個是放置imdb數據的文件地址,另一個是保存均值文件的地址及文件名字

得到binarypro均值文件

擴展閱讀:http://www.cnblogs.com/denny402/p/5102328.html

Caffe操作2----構建網絡結構

在運行的整個流程中,可以分為三個階段:訓練階段、驗證階段和測試階段。網絡結構在不同的階段是不同的,都存放在prototxt文件里面。為了方便,一般將訓練階段和驗證階段的網絡結構放在一個文件里,測試階段的網絡結構單獨放在一個文件里:

?

一個layer表示一層

layer是可以復制可以嵌套的

1)數據層

Name可以隨便取

Type是系統自帶的,不可以自己命名

Top表示向上傳送數據,bottom表示從下面接收數據,通過這個top還是bottom就決定了數據的流向以及不同層之間的鏈接關系

Phasetrain表示只有訓練時調用這層

Mirror表示翻轉

Cropsize表示一張圖變為40*40*10,使得樣本數增加

Batchsize2的倍數,表示批量處理

http://www.cnblogs.com/denny402/p/5070928.html

2)卷積層

?

Decay=0表示不衰減

Num_output?卷積核個數/節點數目

Kernal_size?一般是3*3 5*5 7*7?不能太大

Padding?卷積后圖變小,所以固定填充0,如果=2,表示周邊上下左右填充2pixel

Gaussian表示用高斯方法對wb進行初始化

http://www.cnblogs.com/denny402/p/5071126.html

3)激活層

?

常用relusigmod

http://www.cnblogs.com/denny402/p/5072507.html

4)池化層

caffe只支持maxaveragestochastic是隨機的意思

Stride不能寫1,否則就沒有池化功能

http://www.cnblogs.com/denny402/p/5071126.html

5)全連接層

?

Xvaier初始化方法很好,默認值為0

Type類型都不變

http://www.cnblogs.com/denny402/p/5072746.html

6)其它層

Loss層加在全連接層后面

如果要測試,還加一層softmax

Deploy.prototxt文件用于測試階段,測試數據沒有標簽值,因此數據輸入層與其它兩個階段不同。

?

Caffe自動會復制灰度圖變為3通道圖

Caffe操作3----配置參數solver.prototxt

這里設置全局參數

每訓練完成一個interval以后就驗證一次是否>449

基礎學習率決定收斂不收斂

Step:每隔多少變化一次

Stepshot:每訓練多少保存一次參數

?

http://www.cnblogs.com/denny402/p/5074049.html

Caffe操作4----訓練模型

這一步會生成caffe?model文件,把參數訓練完成

?

?

例:

build/tools/caffe train -solver /home/bnu/fer/solver.prototxt

http://www.cnblogs.com/denny402/p/5076285.html

Caffe操作5----測試模型

?

Classification.bin是自帶的可執行體

http://www.cnblogs.com/denny402/p/5111018.html

?


原文地址: http://www.cnblogs.com/weiqinglan/p/5969016.html?utm_source=itdadao&utm_medium=referral

總結

以上是生活随笔為你收集整理的caffe实战笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。