function eliminate(tensor::AbstractArray{T, 3}) where T
dims_1, dims_2, dims_3 = size(tensor)
mean_array = similar(tensor, dims_1, dims_2)
@inbounds @views for i in 1: dims_1, j in 1: dims_2
mean_array[i, j] = unique(tensor[i, j, :]) |> mean
end
return mean_array
end
function eliminate2(tensor::AbstractArray{T, 3}) where T
dims_1, dims_2, dims_3 = size(tensor)
mean_array = zeros(T, dims_1, dims_2)
@inbounds for i in 1: dims_1, j in 1: dims_2
hash_tab = Set{T}()
clock = 0
for k in 1: dims_3
if tensor[i, j, k] ∉ hash_tab
push!(hash_tab, tensor[i, j, k])
mean_array[i, j] += tensor[i, j, k]
clock += 1
end
end
mean_array[i, j] /= clock
end
return mean_array
end