[英]what is the difference between two following reshape function in numpy?
[英]Difference of function of “reshape” in numpy and Keras
我的情況是使用FCN進行像素預測,我有7個類別,因此我輸入圖像512 * 512,然后提供512 * 512 * 7進行模型預測,我想根據(高度寬度渠道)以保存最終結果。
因為我最后使用通道,所以輸入形狀對我來說很有意義。但是Keras拆分出的輸出形狀的形式我相信是:
(channels*height *width).
我的嘗試是使用“重塑”功能,它起作用了……這確實使我感到困惑,在我的實驗中,當我使用重塑功能時,圖像會被完全弄亂,在這種情況下,它確實可以正常工作好(在Keras中使用重塑功能)。
pr = m.predict( np.array([X]))[0]
#reshape to channel last and take the largest index in 7 predictions for each piexl
pr = pr.reshape(( output_height , output_width , n_classes ) ).argmax(axis=-1)
我所期望的工作方式應該是np moveaxis或numpy.rollaxis。 提前致謝!
默認情況下,Keras已經是channels_last
,因此您可能不執行任何重塑操作。
檢查model.summary()
以查看形狀。
您是正確的,如果您打算更改頻道順序,則重塑會弄亂圖像。 因此,您將尋找一個Permute((3,1,2))
層以最后移至第一個或Permute((2,3,1)
層以移至最后一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.