2016-10-03 2 views
0

나는 tensorflow에서 tf.image_summary 함수를 사용하려고합니다. 길쌈 레이어의 필터를 시각화하려고합니다. 필터는 tf.Variable(tf.constant(0.1, shape=[5, 5, 16, 32]))으로 정의됩니다.텐서에서 특정 치수 추출

하지만 최종 필터 만보고 싶기 때문에 16 크기의 첫 번째 인덱스를 가져 와서 크기 [5, 5, 32]의 필터를 얻는 방법을 찾고 싶습니다. [:, :, 0, :]을 사용하면 [5, 5, 32] 필터 대신 [5, 5, 1, 32] 필터를 얻을 수 있다고 가정합니다.

어떻게해야합니까?

+0

필터 변수가'호출되면 filters'을하고 조각'필터를 가지고 [:, :, 0 : ]'라고한다면, 여러분은 실제로 형태의 텐서 형태를 취해야 만합니다 [5, 5, 32]. – mrry

+0

또한 일반적으로 ['tensorflow.squeeze'] (https://www.tensorflow.org/versions/r0.11/api_docs/python/array_ops.html#squeeze)는 크기가있는 차원을 타는 데 사용할 수 있습니다 1. – BarzinM

답변

0

그래서 tf.image_summary는 일괄 처리를 입력으로 취하지 만 색상 채널의 관점에서 1, 3 또는 4를 예상합니다.

때문에이 같은 tf.image_summary하려면 통과해야 할 것 :

for i in range(int(math.floor(filter.get_shape()[4]/3))): 
    tf.image_summary(filter[:,:,:,i:i+3])