tf.reshape
은 텐서 데이터 구조의 차원을 변경할 수 있지만 각 차원에서 데이터를 정렬하는 방법에 대한 보장은 있습니까?변형 후 치수 전 환 : 필요할 때?
다른 객체, 위치 및 시간에 걸쳐 값을 설명하고 다른 숫자는 B[x,t]
에 불과한 치수가 A[objects, x, t]
인 텐서가 있다고 가정합니다. 나는 보통해야 할이 같은 차원에 걸쳐 공을 B
을 복사하기 위해 고쳐 :
B_res = tf.tile(tf.reshape(B , [1, X_SIZE, T_SIZE]), tf.pack([OBJECT_SIZE,1,1]))
some_op = tf.mul(A, B_res)
X_SIZE == T_SIZE
모양 변경이 모두를 위해, 모양 변경에 B 데이터를 정렬하는 방법을 알 수있는 방법이없는 때 표시되는 문제가 치수 2의 B
을 따라 B_res
의 데이터를 정렬 할 수 있습니다.
reshape
데이터 주문에 대한 규칙이 있습니까? 몇개의 tf.transpose
작업이 필요하다면 알고 싶습니다. tf.reshape
좋은 점을 명심하십시오. 감사드립니다. 그러나 질문은 일반적으로 차원을 임의로 재구성 할 수도 있고 그렇지 않을 수도 있습니다 (특히 일부 차원이 동일 할 때 모호함이 발생할 수 있음). (B, [1, T_SIZE, X_SIZE])를 재 작성하면 어떨까요? – diffeomorphism
그건 내가 기억의 순서에 관해서 지적한 점이었습니다. 애매 모호하지 않습니다. 모든 항목은 변형 된 동일한 1D 순서를 유지합니다. 그 위에 다른 모양이 있습니다. 100 개 요소를 100 개 요소, 10x10 요소 또는 5x5x4 요소로 보는 방법과 비슷합니다. 메모리 순서는 변경되지 않습니다. 그냥 치수. 변형은 치수를 뒤섞 지 않습니다. – chasep255
지금은'reshape'의 모든 사례를'expand_dims'로 바꾸고 있습니다.하지만 방송이 무엇을하는지 분명히 알았을 때 이미 방송 규칙을 대체하고 있습니다. 나는 브로드 캐스팅이 +와 같은 모든 요소 별 연산자에도 적용된다는 것을 알지 못했지만, 곱셈만을위한 것이라고 생각했습니다. – diffeomorphism