1、在訓練hourglass和pyranet的時候都會出現訓練的時候acc會nan,why?
根據acc的**,只有在分母為0的時候才會出現nan的情形,以coco為例,badidxcount是17,造成nan。
為什麼badidxcount會是17呢?
返回的全是-1,為什麼會返回全是-1?
只能是給出的17個部位的標籤全部是1引起來的,為什麼全是1,原因是因為17張map圖都是0,值,原因在於很多coco的標註點特別接近邊緣,再進行旋轉縮放的時候很容易把標註點切掉,特別對於只有乙個標註點的樣本,所以就會出現出來的影象沒有標註點,17個通道的target都是0值,從而導致最後的nan得情況,但是注意這只是在batchsize=1的情況下才會出現這種情況
batchsize>1,就很少可以說不會出現這種情況。why?
原因是因為batchsize>1的清醒下,依次輸入網路是好幾張一起,以pyranet為例
如果batchsize為3的話
對應的輸入,輸出,target的大小如下
相應的輸出**
print('input')
print(self.input:size())
print(self.input:type())
print('output')
print(#output)
print(output)
print('target')
print(#self.target)
print(self.target)
對於batchsize大於1的情形,因為是連續的n張一起做測評,所以幾乎不可能說n張都是乙個標註點都不存在,這樣的概率很低很低,至少在batchsize>1的條件下進行訓練的時候發現沒有nan的情形出現
2、
size = self.iters * self.batchsize
訓練的乙個epoch是batchsize*迭代的次數之 sphereface 訓練出現的問題
訓練了64 層卷積的模型,沒有訓出來作者 上發布的結果。現在訓練最好的結果是十重校驗的平均是99.30 上報告的精度是99.42 差的比較多。訓練了ms 的sphereface20 層的模型。迭代了2w次loss 沒有下降,我現在的想法是 500w 的資料除以batchsize 128 那麼可能所有...
演算法訓練 出現次數最多的整數
問題描述 編寫乙個程式,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數n也是由使用者輸入的,最多不會超過20。然後程式將對這個陣列進行統計,把出現次數最多的那個陣列元素值列印出來。如果有兩個元素值出現的次數相同,即並列第一,那麼只列印比較小的那個值。輸入格式 第一行是乙個整數 n,n ...
演算法訓練 出現次數最多的整數
演算法訓練 出現次數最多的整數 時間限制 1.0s 記憶體限制 512.0mb 問題描述 編寫乙個程式,讀入一組整數,這組整數是按照從小到大的順序排列的,它們的個數n也是由使用者輸入的,最多不會超過20。然後程式將對這個陣列進行統計,把出現次數最多的那個陣列元素值列印出來。如果有兩個元素值出現的次數...