|
init_conv (Filters, Channels, Width, Height, Limit): InitVal = zeros ( [[[[0 … Filters-1)] 0…Channels-1] 0 … Width-1)] 0 … Height-1)]) m = Width * Height * Channels -1 for nFilter is 0 to Filters-1 step 1 cnt = 0 for nDepth is 0 to Channels-1 step 1 for nHeight is 0 to Height-1 step 1 for nWidth is 0 to Width-1 step 1 InitVal [nHeight][nWidth][nDepth][nFilter] = valset (cnt, m, Limit, Layer_Type_CovNet) cnt = cnt + 1 end loop end loop end loop initval_trans = transpose (InitVal) if (mod (nFilter + 1, 2) = 0) initval_transvect = reshape (initval_trans[nFilter], (1, Width * Height * Channels)) initval_transvect = flip (initval_transvect) initval_trans[nFilter] = reshape (initval_transvect, (Channels, Width, Height)) end if for iteration is 0 to floor (nFilter/2)-1 step 1 initval_transvect = reshape (initval_trans[nFilter], (Width * Height * Channels, 1)) initval_transvect = shuffle_data (initval_transvect) initval_trans[nFilter] = reshape (initval_transvect, (Channels, Width, Height)) end loop InitVal = transpose (initval_trans) end loop return InitVal |