2016-10-30 10 views
0

假設我有從3D nn.conv()一個輸出,或nn.conv3d()如何在nn.conv()的輸出上應用函數。 nn.conv3d()

的輸出是在下面的形狀的張量:

[1(batch),28(depth), 28(rows), 28(cols), 32(channels)] 
<tf.Tensor 'Relu_1:0' shape=(1, 28,28, 28, 32) dtype=float32> 

欲每個28x28x28體積數據應用的功能。我真的不明白裏面的數據是什麼樣的。爲什麼不應該(渠道,28,28,28)?我可以認爲它是一個np.array。

只見它可以這樣做:

function_to_map = f(x) 
res = tf.map_fn(f, input) 

但我不知道如何在這個張量定義功能f。我真的很困惑這裏的頻道和數據看起來像什麼。

回答

0

CONV1 = tf.pack([tf.py_func(FUNC,[tf.unpack(CONV1)[I]],[tf.float32])[0] i的範圍(N)])

func的輸入是numpy.array,函數的輸出也是numpy數組。 func可以是任何python函數。如果張量是(n,b,c,d),n是批量大小,則數據是(b,c,d)。最後算出來了。

相關問題