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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > Caffe >内容正文

Caffe

Caffe训练ImageNet

發布時間:2025/7/25 Caffe 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Caffe训练ImageNet 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Caffe訓練ImageNet使用的是NIPS?2012?paper論文的算法。

?

1、準備數據。

假設已經下載好數據集和驗證集,存儲路徑為:

/path/to/imagenet/train/n01440764/n01440764_10026.JPEG

/path/to/imagenet/val/ILSVRC2012_val_00000001.JPEG

首選需要創建一個txt文件,列舉出所有圖像以及對應的lablecaffe包“python/caffe/imagenet/ilsvrc_2012_train.txt”和“ilsvrc_2012_val.txt”兩個文件分別是標好的訓練集和驗證集的文件,共分為1000類。

還需要注意的是,所有的圖像都需要歸一到同樣的尺寸。

?

2、轉化生成訓練集。

運行下面的命令:

GLOG_logtostderr=1?examples/convert_imageset.bin???/path/to/imagenet/train/?python/caffe/imagenet/ilsvrc_2012_train.txt????/path/to/imagenet-train-leveldb

生成文件存儲在“/path/to/imagenet-train_leveldb”路徑下。

?

3、計算圖像均值。

執行命令:

examples/demo_compute_image_mean.bin?/path/to/imagenet-train-leveldb?/path/to/mean.binaryproto

第一個參數是執行腳本代碼,第二個參數是上一步生成的數據集,第三個參數是存儲圖像均值的目錄路徑。

?

4、定義網絡。

ImageNet的網絡定義在“examples/imagenet.prototxt”文件中,使用時需要修改里面sourcemeanfile變量的值,指向自己文件的路徑。

仔細觀察imagenet.prototxtimagenet_val.prototxt文件可以發現,訓練和驗證的參數大部分都相同,不同之處在于初始層和最后一層。訓練時,使用softmax_loss層來計算損失函數和初始化后向傳播,驗證時,使用accuracy層來預測精確度。

在文件“examples/imagenet_solver.prototxt”中定義solver協議,同樣需要修改train_nettest_net的路徑。

?

5、訓練網絡。

執行命令:

GLOG_logtostderr=1?examples/train_net.bin?examples/imagenet_solver.prototxt

?

6、在python中使用已經訓練好的模型。

Caffe只提供封裝好的imagenet模型,給定一副圖像,直接計算出圖像的特征和進行預測。首先需要下載模型文件

Python代碼如下:

[python]?view plain?copy ?print?
  • from?caffe?import?imagenet??
  • from?matplotlib?import?pyplot??
  • #?Set?the?right?path?to?your?model?file,?pretrained?model??
  • #?and?the?image?you?would?like?to?classify.??
  • MODEL_FILE?=?'examples/imagenet_deploy.prototxt'??
  • PRETRAINED?=?'/home/jiayq/Downloads/caffe_reference_imagenet_model’??
  • IMAGE_FILE?=?'/home/jiayq/lena.png'??
  • ???
  • net?=?imagenet.ImageNetClassifier(MODEL_FILE,?PRETRAINED)???
  • #預測??
  • prediction?=?net.predict(IMAGE_FILE)??
  • #繪制預測圖像??
  • print?'prediction?shape:',?prediction.shape??
  • pyplot.plot(prediction)??
  • prediction?shape:?(1000,)??
  • [<matplotlib.lines.Line2D?at?0x8faf4d0>]?#結果如圖所示??


  • ?

    圖上的橫軸表示的label,縱軸表示在該類別上的概率,有圖我們看到,lena.jpg被分到了”sombrero”這組,結果還算準確。?

    結束語

    更多內容請參考http://daggerfs.com/caffe/

    總結

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

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