0
私は機能barycenter
の戻り値はapply_over_axes(barycenter, ...
で得ているものと異なっている次の出力にnumpy apply_over_axes for keepdims = True?
src shape: (2, 2, 3) , **** trg shape: (2, 2) ****
direct application = [[ 0.2 0.3]
[ 0.4 0.7]] **** (trg shape = (2, 2)) ****
src shape: (2, 2, 3) , **** trg shape: (2, 2) ****
application through apply_over_axes = [[[ 0.2]
[ 0.3]]
[[ 0.4]
[ 0.7]]] **** (trg shape = (2, 2, 1)) ****
を生成し、次のコード
import numpy as np
import sys
def barycenter(arr, axis=0) :
bc = np.mean(arr, axis, keepdims=False)
print("src shape:", arr.shape, ", **** trg shape:", bc.shape, "****")
sys.stdout.flush()
return bc
a = np.array([[[0.1, 0.2, 0.3], [0.2, 0.3, 0.4]],
[[0.4, 0.4, 0.4], [0.7, 0.6, 0.8]]], np.float)
e = barycenter(a, 2)
print("direct application =", e, "**** (trg shape =", e.shape, ") ****\n")
f = np.apply_over_axes(barycenter, a, 2)
print("application through apply_over_axes =", f, "**** (trg shape =", f.shape, ") ****\n")
を持っています。
なぜそうですか?
正確です。ドキュメンテーションからその部分を逃した。それから私はもう一度行って、それを見つけました...私は質問を取り除こうとしていました。 –