Skip to main content
. 2021 Jul 13;21(14):4772. doi: 10.3390/s21144772
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