Angenommen, ich habe einen Tensor der Größe BxWxHxD. Ich möchte den Tensor so bearbeiten, dass ich einen neuen BxWxHxD-Tensor habe, bei dem nur das maximale Element in jedem WxH-Schnitt beibehalten wird und alle anderen Werte Null sind. Mit anderen Worten, ich denke, der beste Weg, dies zu erreichen, besteht darin, einen 2D-Argmax über die WxH-Schichten zu nehmen, was BxD-Indextensoren für die Zeilen und Spalten ergibt, die dann in einen einharten BxWxHxD-Tensor umgewandelt werden können als Maske verwendet werden. Wie mache ich das?Tensorflow multi-dimensional argmax
5
A
Antwort
1
Sie können die folgende Funktion als Ausgangspunkt verwenden. Er berechnet die Indizes des maximalen Elements für jede Charge und für jeden Kanal. Das resultierende Array hat das Format (Stapelgröße, 2, Anzahl der Kanäle).
def argmax_2d(tensor):
# input format: BxHxWxD
assert rank(tensor) == 4
# flatten the Tensor along the height and width axes
flat_tensor = tf.reshape(tensor, (tf.shape(tensor)[0], -1, tf.shape(tensor)[3]))
# argmax of the flat tensor
argmax = tf.cast(tf.argmax(flat_tensor, axis=1), tf.int32)
# convert indexes into 2D coordinates
argmax_x = argmax // tf.shape(tensor)[2]
argmax_y = argmax % tf.shape(tensor)[2]
# stack and return 2D coordinates
return tf.stack((argmax_x, argmax_y), axis=1)
def rank(tensor):
# return the rank of a Tensor
return len(tensor.get_shape())
Verwandte Themen
- 1. TensorFlow: argmax (-min)
- 2. Verständnis argmax
- 3. Numpy Argmax. Wie berechne ich sowohl max als auch argmax?
- 4. pandas serie kumulativ argmax
- 5. Multidimensional jede
- 6. Multidimensional Javascript
- 7. Python - argmin/argmax für Memberfunktion
- 8. JavaScript Multidimensional Arrays
- 9. Verwenden multidimensional std :: initializer_list
- 10. Binding multidimensional knockoutjs ObservableArray
- 11. Multidimensional Array-Tasten erhalten
- 12. Appending Multidimensional Dictionary
- 13. Multidimensional Listen in C#
- 14. opencv multidimensional kmeans
- 15. Gebender von Multidimensional Array
- 16. Multidimensional Angular Array
- 17. Multidimensional std :: array
- 18. Multidimensional Array im Zweig
- 19. Indizierung in numpy (bezogen auf max/argmax)
- 20. PHP: Merge 2 Multidimensional Arrays
- 21. get Wert von Array Multidimensional
- 22. Erstellen von unbegrenzten Multidimensional-Array
- 23. erstellen verschachtelte Liste von Multidimensional Array
- 24. Serialize und Deserialize Multidimensional Array zu JSON
- 25. ADD EXCEL DATA TO Multidimensional ArrayList
- 26. PHP Prepopulate Dropdown von Multidimensional Array
- 27. Parsing Multidimensional JSON Array mit Newtonsoft Json.NET
- 28. Setzen Sie Werte in Multidimensional Array Tasten
- 29. Entfernen Sie doppelte Schlüssel aus Multidimensional Array
- 30. Split multidimensional Array in seinen sub_arrays