2017-10-13 3 views
0

텐서 흐름 내에서 단일 치수의 크기를 조정할 수 있는지 궁금합니다. 그래서,tensorflow - 치수 크기 조정

t = [[1, 10], [2, 20]] 
shape(t) = [2, 2] 

는 지금이 텐서의 모양을 수정할 :

shape(t) = [2, 3] 

지금까지 난 그냥 기능을 발견

내가 주어진 텐서 t을하자

  • reshape ->이 함수는 텐서를 변형하여 총계 수를 유지할 수 있습니다.

    shape(t) = [1, 3] | [3, 1] | [4] 
    
  • expand_dims (최대한 멀리 이해되는) 동일 ->이 함수는 새 1 차원 치수

    shape(t) = [1, 2, 2] | [2, 1, 2] | [2, 2, 1] 
    

을 추가 할 수있는 제 기재된 목적 함수 그 자리에? 그렇지 않다면 왜? (아마 의미가 같은 기능을 가지고하지 않습니다?)

는 종류가 그것을 할 수

+0

(2,3)을 줄 것이다, 당신은 텐서 두 개 이상의 요소가 있습니다. 그들이 어디에서 왔는가 또는 어떻게 계산되어야 하는가? – Psidom

+1

그 작업을 통해 달성하고자하는 목표와 여분의 공간을 채울 데이터를 설명해 주시겠습니까? 여분의 공백을 0으로 채우려면 tf.pad를 다음과 같이 사용할 수 있습니다.'''tf.pad (t, [[0, 0], [0,1]])''' –

+0

감사합니다. tf.pad는 제가 검색 한 것입니다. –

답변

0

사용 tf.concat을 간주한다. 다음은 그 예입니다.

import tensorflow as tf 

t = tf.constant([[1, 10], [2, 20]], dtype=tf.int32) 
# the new tensor w/ the shape of [2] 
TBA_a = tf.constant([3,30], dtype=tf.int32) 
# reshape TBA_a to [2,1], then concat it to t on axis 1 (column) 
new_t = tf.concat([t, tf.reshape(TBA_a, [2,1])], axis=1) 

sess = tf.InteractiveSession() 
print(new_t.eval()) 

그것은 우리에게로 (2,2)에서

[[ 1 10 3] 
[ 2 20 30]] 
관련 문제