gpt4 book ai didi

image-processing - tensorflow 中的 reverse() 和 reverse_sequence() 的主要区别是什么?

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

我正在使用简单的 tensorflow 示例来翻转图像。我使用了reverse_sequence 和reverse 方法,结果是一样的。如果只使用reverse() 方法可以翻转图像,那么为什么要使用reverse_sequence() 方法呢?我只想知道这种方法之间的主要区别是什么?在此先感谢:)

import tensorflow as tf
import matplotlib.image as mpimg
import matplotlib.pyplot as plt

# First, load the image again
filename = "MarshOrchid.jpg"
image = mpimg.imread(filename)

# Create a TensorFlow Variable
x = tf.Variable(image, name='x')
height, width, depth = image.shape

model = tf.initialize_all_variables()

with tf.Session() as session:
# x= tf.reverse(x, dims=[False, True, False],name="reverse")
x = tf.reverse_sequence(x, [width] * height, 1, batch_dim=0)
session.run(model)
result = session.run(x)
print(session.run(x))

plt.imshow(result)
plt.show()

最佳答案

tf.reverse_sequence() op 旨在用于已填充以形成密集张量的顺序数据。考虑以下矩阵,x,其中非零元素似乎是“左对齐”:

x = [[1 2 3 4 0 0 0]
[1 2 3 0 0 0 0]
[1 2 3 4 5 6 7]]

seq_lens = [4, 3, 7]

评估 tf.reverse_sequence(x, seq_lens, seq_dim=1, batch_dim=0) 给出:

result = [[4 3 2 1 0 0 0]
[3 2 1 0 0 0 0]
[7 6 5 4 3 2 1]]

请注意,结果仍然显示为“左对齐”。

相比之下,如果您评估 tf.reverse(x, [False, True]) ,序列长度被忽略,你得到一个“右对齐”的结果:

result = [[0 0 0 4 3 2 1]
[0 0 0 0 3 2 1]
[7 6 5 4 3 2 1]]

关于image-processing - tensorflow 中的 reverse() 和 reverse_sequence() 的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40876901/

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