나는 텐서 형상을 가지고 있다고 가정한다. (batch_size, a, ... , c, d, e)
여기서 a, ..., c, d, e는 정수이다. 예 : (batch_size, 500, 3, 2, 2, 69)
또는 (batch_size, 2, 2)
.마지막 축의 인덱스가 주어진 경우에만 tensorflow의 tensors를 효율적으로 마스크하는 방법은 무엇입니까?
1) I :
내 질문은 모든 텐서입니다 만의 내가 tensor1
의 마지막 축 tensor2
tensor2.get_shape() = (?, 500, 3, 2, 2, 14)
에 포함 된 지표를 감안할 때 tensor1.get_shape() = (?, 500, 3, 2, 2, 69)
의 예에 충실하게, 나는이 문제가 형태 (?, 500, 3, 2, 2, 69)
의 tensor1
에 대한 마스크를 tensor2
에서 만들고 싶습니다. 예를 들어 tensor2
에 대한 마지막 축을 따라 가능한 행은 [1,8,3,68,2,4,58,19,20,21,26,48,56,11]
이지만 tensor2
은 tensor1
에서 구성되기 때문에 이러한 인덱스는 새 입력에 따라 다릅니다. 이것들은 유지되어야 할 마지막 축의 인덱스이며 tensor1
입니다. 그 밖의 모든 것은 가려져야합니다.
2) tensor1
에 대해 모양이 마스크 (?, 500, 3, 2, 2, 69)
인데, 배치 크기 차원을 유지하면서 원치 않는 값을 마스크하는 방법은 무엇입니까? 마스크 된 텐서는 모양이 (?, 500, 3, 2, 2, 14)
이어야합니다.
keras 또는 numpy의 답변도 numpy로 처리하는 방법을 알고 내 문제를 해결할 수는 없지만 여전히 알고 싶습니다.