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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

skimage.io.imread vs caffe.io.load_image

發布時間:2025/4/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 skimage.io.imread vs caffe.io.load_image 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這兩周在跑一個模型,我真的是被折騰的要崩潰了。

最后原因就是數據類型的問題,你說是不是應該管小黑屋啊。

skimage.io.imread得到的是uint8的數據,而caffe.io.load_image得到的是0-1之間的小數。

img=skimage.io.imread(img_path), uint8,0-255

img=caffe.io.load_image(img_path), float,0-1

這個還不是最關鍵的,關鍵是在使用時的實際情況。

caffe里,使用caffe.io.load_image時,需要把值轉換為0-255之間,所以要乘255.

img=skimage.io.imread(img_path),uint8,0-255

img=caffe.io.load_image(img_path)*255,float,0-255

然后最關鍵的平方,在DL中,要減去均值才行是吧,于是

img=skimage.io.imread(img_path)-mean,uint8,0-255

img=caffe.io.load_image(img_path)*255-mean,float,0-255

?

此時看似沒什么問題。但是第一種方式,減掉均值后,很多地方變成0了。這個在對整圖操作時,可能影響還不大,但是如果你要考慮局部的信息,比如像素點的局部信息,此時你就等著吧,絕對因為大部分是0,什么都沒有了。

而第二種情況,因為是浮點數,減均值后還是有值的,在0附近的小數,于是這個還是比較正常的輸入值,對DL來說,當你定位到局部信息時,還是比較真實的。

于是,我是這么做的,把第一種情況得到的圖像都乘以1.0,然后就看到圖像的像素值變成浮點型了。這樣以來,在減均值時,就好了。

img=(skimage.io.imread(img_path))*1.0,uint8,0-255

img=caffe.io.load_image(img_path)*255,float,0-255

?

這個問題可是困擾了我N天啊,真是個大坑,掉進去了,希望以后再用python時能夠注意到這個問題。

?

羅嗦那么多,其實最重要的是均值要是浮點型的,不要四舍五入,其實img轉換根本沒什么用在這里,關鍵還是均值,一定不能是整型數啊。

?

我真的是繞了個大彎啊,我的天呢。

?

還有一個坑,如果你讀圖時賦值給img=skimage.io.imread(img_path)

但是,如果你減均值時這么干的,

img -= mean

?

那么你必須在讀取圖像后趕快把img后面乘上1.0了,轉成浮點型,要不然的話,減掉均值再賦值給img,還是給轉成整型了,于是還是不行啊。

唉,真的是各種坑啊,所以以后還是乖乖用caffe的io吧。

轉載于:https://www.cnblogs.com/jianyingzhou/p/4571454.html

總結

以上是生活随笔為你收集整理的skimage.io.imread vs caffe.io.load_image的全部內容,希望文章能夠幫你解決所遇到的問題。

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