将float64 3-D数组转换为Julia中的float32 3-D数组

use*_*619 0 arrays julia

我尝试了以下,但没有一个工作

A = zeros(2,2,2)
A[:,:,1] = [1 2; 3 4]
A[:,:,2] = [10 20; 30 40]

for i=1:size(A,1)
    convert(Array{Float32,2}, A[i,:,:])
end

print(typeof(A))
Run Code Online (Sandbox Code Playgroud)

输出: Array{Float64,3}

convert(Array{Float32,3}, A)
print(typeof(A))
Run Code Online (Sandbox Code Playgroud)

输出: Array{Float64,3}

map(y->(Float32,y), A)
print(typeof(A))
Run Code Online (Sandbox Code Playgroud)

输出: Array{Float64,3}

我甚至无法将Float64数组转换为以下数组Int:

for i=1:size(A,1)
    round.(Int,  A[i,:,:])
end

print(typeof(A))
Run Code Online (Sandbox Code Playgroud)

输出: Array{Float64,3}

还有什么我可以尝试将其转换Array{Float64,3}Array{Float32,3}

hes*_*_EE 5

A = zeros(2,2,2)
A[:,:,1] = [1 2; 3 4]
A[:,:,2] = [10 20; 30 40]
Run Code Online (Sandbox Code Playgroud)

使用 Float32.(A)

julia> A=Float32.(A)
2×2×2 Array{Float32,3}:
[:, :, 1] =
 1.0  2.0
 3.0  4.0

[:, :, 2] =
 10.0  20.0
 30.0  40.0

julia> print(typeof(A))
Array{Float32,3}
Run Code Online (Sandbox Code Playgroud)

'.' 用于广播操作元件的操作员.