支援多label的caffe,有比較好的實現嗎?

時間 2021-06-02 18:56:35

1樓:CJEQ

兩種方法:

方法1.如吳建所說,建兩個lmdb,分別儲存的是資料和對應的label,在做lmdb時注意對應好資料和label就可以了,同時兩個lmdb的datum.data乙個是資料,另外乙個是標籤,至於datum.

label隨便填就行了(比如直接都置為0),反正在prototxt中不讀這個top就好了。

方法2.參考caffe中example中的pascal-multilabel-with-datalayer.ipynb的例子,自己寫乙個讀取多標籤的python layer,因為不用權值更新所以python版本的datalayer和losslayer不會太過於影響速度,具體參考example/pycaffe/layers/pascal_multilabel_datalayers.

py 中所寫,裡面需要改的只是你要讀的不同格式檔案而已,大致框架不需要動,還是比較方便。

總結:方法1相對比較簡便,方法2相對比較規範,看你具體任務的需求。

2樓:taokongcn

最近在實現Network in Network 和 HCP,這裡邊用到了muti-label在這裡說一下自己的實現方法。我的實現方法是基於Python Layer的。

定義自己的data層,詳細見fast-rcnn/layer.py at master · rbgirshick/fast-rcnn · GitHub

通過類似的方式可以自定義label的屬性(比如維數、型別)強烈建議利用python layer做自己想要的拓展工作,另外給我的R.B.G神的fast-rcnn做個廣告rbgirshick/fast-rcnn · GitHub,這個工程給了我們如何在caffe的基礎上做自己的擴充套件的範例。

當然hdf5也是一種選擇,但是我的經驗是,真的很慢。

3樓:啦啦啦

不知道題主是要別人實現好的還是要自己搞,我默默提供倆自己搞的辦法。大概都是一天以內的工作量。

1)複雜版:在proto裡把label的optional改成repeated,然後編譯下逐個把那一籮筐錯誤改了。

2)偷懶版:label有限,比如兩個或者三個,直接弄個和label性質差不多的變數,label_1啥的,然後改少數幾個地方就行。類似於什麼base data,什麼prefetch什麼的。

半年前的回答了。。。最近還做了別的

3)hdf5實在不能更方便。。。雖然2GB的限制有點點麻煩。。

4)這個沒自己寫過:用多個lmdb實現。以前聽說會有點問題,後來另乙個人表示完全沒事。。。

為啥有那麼多支援立法禁食狗肉的人?

忘川 他們完全是憑藉自己的直覺做出了抉擇。他們認為。似乎全世界範圍內也沒有一兩個吃狗肉的人。似乎所有人都像他們那樣熱愛小動 物。似乎這種野蠻的事情,即便影響了少部分人,大家也會願意犧牲自己的利益,為全社會做貢 獻。還有少數人提出,乾脆大家都吃素算了。他們大腦中的那個世界是乙個童話世界。他們看不到真實...

為什麼在網路上支援以色列的這麼多

分曹射覆 其實我對以色列和猶太人猶太教也是非常反感的,因為猶太教是目前幾個一神教的源頭,其次猶太人裡面又出來了馬克思恩格斯托洛茨基這些人,不過,因為更加反感他們對手的信仰,並且猶太人一直在中東制衡打壓阿拉伯人,所以我兩權相害取其輕,阿以衝突我支援以色列。 鯊魚週刊粉 就是巴勒斯坦的外宣不夠,所以中文...

如果exo公開戀愛了 支援茶蛋的聲音多還是反對的聲音多?

阿楚姑娘 有的話有可能說出來會覺得很自私,但是我還是想說我真的不希望他們戀愛,哪怕戀愛了不要讓粉絲知道,我覺得我真的做不到很理智,有可能文不對題了,抱歉 如果真的最後結婚了,我想我會祝福你,但不是你們 反對的多,自我認為你談戀愛可以啊,都二十多歲的人了,不談一場戀愛即會很遺憾也不怎麼現實。但是就目前...