gpt4 book ai didi

view - reshape View 的功能?

转载 作者:行者123 更新时间:2023-12-04 14:24:50 24 4
gpt4 key购买 nike

在 Julia v0.5 中,如何创建一个类似于 reshape 但返回 View 的函数? ArrayViews.jl 有一个 reshape_view 函数,但它似乎与新的 view 不直接兼容功能。我只想reshape u到一些元组sizeu我不知道尺寸。

最佳答案

如果你 reshape 一个“ View ”,输出是一个 reshape 的“ View ”。

如果您的初始变量是一个普通数组,您可以在函数调用期间将其转换为“动态” View 。

根据您后来的评论,此操作期间没有重新分配:您可以使用 pointer 确认这一点功能。对象不一样,因为它们被解释为指向不同“类型”的指针,但内存地址是相同的。

julia> A = ones(5,5,5); B = view(A, 2:4, 2:4, 2:4); C = reshape(B, 1, 27);

julia> is(B,C)
false

julia> pointer(B)
Ptr{Float64} @0x00007ff51e8b1ac8

julia> pointer(C)
Ptr{Float64} @0x00007ff51e8b1ac8

julia> C[1:5] = zeros(1,5);

julia> A[:,:,2]
5×5 Array{Float64,2}:
1.0 1.0 1.0 1.0 1.0
1.0 0.0 0.0 1.0 1.0
1.0 0.0 0.0 1.0 1.0
1.0 0.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0

关于view - reshape View 的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38777469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com