试着理解tensorflow strided_slice和片
x = tf.constant(np.array( [[[111, 112, 113], [121, 122, 123]],
[[211, 212, 213], [221, 222, 223]],
[[311, 312, 313], [321, 322, 323]]]))
with tf.Session() as sess:
print("tf.shape ------------------")
print(sess.run(tf.shape(x)))
print("tf.slice ------------------------")
print(sess.run((tf.slice(x, [1, 0, 0], [2, 1, 3]) )))
print("tf.strided_slice ------------------------")
print(sess.run(tf.strided_slice(x, [1, 0, 0], [2, 1, 3], [1, 1, 1])))
print(sess.run(tf.strided_slice(x, [1, -1, 0], [2, -3, 3], [1, -1, 1])))
print(sess.run(x[1,-1,0]))
print(sess.run(x[2,-3,3]))输出
tf.shape ------------------
[3 2 3]
tf.slice ------------------------
[[[211 212 213]]
[[311 312 313]]]
tf.strided_slice ------------------------
[[[211 212 213]]]
[[[221 222 223]
[211 212 213]]]
221
ValueError: slice index -1 of dimension 1 out of bounds. for 'strided_slice_8' (op: 'StridedSlice') with input shapes: [3,2,3], [3], [3], [3] and with computed input tensors: input[1] = <2 -3 3>, input[2] = <3 -2 4>, input[3] = <1 1 1>.对于tf.slice,我理解我们必须在每个维度中提到片大小,因此超出量程值是有意义的。但在条纹切片中,尾是张量本身中的张量指标,如何得到大小值是有效的。
示例取自切片
利用纸张用于句子建模的卷积神经网络实现折叠层零件
到目前为止,在网络的制定中,应用于句子矩阵的单个行的特征检测器可以有多个顺序,并在多个特征映射中跨同一行创建复杂的依赖关系。然而,不同行中的特征检测器相互独立,直到顶层完全连接。不同行之间的完全依赖可以通过在等式中生成M来实现。5用完全矩阵代替稀疏对角矩阵。在这里,我们探索了一种叫做折叠的简单方法,它不引入任何额外的参数。在一个卷积层之后,在(动态)k池之前,1只是在一个按特征映射组件的中每两行加一次。对于d行映射,折叠返回d/2行的映射,从而将表示的大小减半。对于折叠层,I阶特征检测器现在依赖于I阶−1的较低映射中的两行特征值,这就结束了对DCNN的描述。
发布于 2018-07-11 06:06:59
生成的ValueError与对Strided_Slice的前2次调用没有任何关系。对Strided_Slice操作的使用是正确的
打印(sess.run(x,1,0,0,2,1,3,1,1,1)) 打印(sess.run(x,1,-1,0,2,-3,3,1,-1,1))
你的问题是呼吁
打印(sess.run(x2,-3))
python数组中的负索引反向遍历数组。
例如,给定这样一个数组
arr = ['a', 'b', 'c', 'd', 'e', 'f']呼叫arr-1会产生“f”。同样,对arr-4的调用将产生“c”。如果我们打电话给arr-7会怎么样?这将尝试访问索引-1,这将引发一个错误。
请记住,Python中的数组具有基于0的索引。对x2,-3,3的调用最初访问外部数组中索引2(第3个元素)中的元素,即
[[311, 312, 313], [321, 322, 323]]现在,在这个外部数组中,有两个元素。然而,您的调用x2,-3,3试图访问在索引-1处的元素,因为它从数组的末尾开始迭代。这就是导致错误的原因。
维数1超出界的切片索引-1
注意到:在x2、-3、3中尝试访问的最后一个索引也会产生一个ValueError,因为它试图访问的是一个索引,而不是数组中的索引。要解决这个问题,您的电话可以是x2,- 2,2。
下面是有关Python:切片中的分片、切片和数组索引的几个链接
https://stackoverflow.com/questions/45900233
复制相似问题