スカラーを取得するために、特定のインデックスのテンソルから要素を取得することは可能ですか?たとえば、画像を指定するとshape = tf.shape(image)
、でその形状を取得できますが、高さ、幅、奥行きを取得するにはどうすればよいですか?
私が見つけた唯一の方法は次のとおりです。
height = tf.reshape(tf.slice(shape, [0], [1]), [])
width = tf.reshape(tf.slice(shape, [1], [1]), [])
depth = tf.reshape(tf.slice(shape, [2], [1]), [])
他に方法はありますか?
スライス構文(つまり、[]
演算子を使用)は、NumPyスライスに基づいており、shape
テンソルから高さ、幅、および深さを取得するためのもう少し簡潔な方法を提供します。
shape = tf.shape(image)
height = shape[0] # returns a scalar
width = shape[1] # returns a scalar
depth = shape[2] # returns a scalar
テンソルが静的に決定された形状を持っている場合、Nessunoの答えもうまく機能します。ただし、可変サイズの画像(例:の結果tf.image.decode_jpeg()
)は、画像ごとに異なる可能性があるNone
ため、通常、を使用すると高さと幅の寸法が表示されますget_shape()
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加