- Tensor Manipulation (new)
- Reduce Mean
- Reduce Sum
- Argmax
- Reshape
- One hot
- Casting
- Stack
- One and Zeros like
- Zip
Tensor Manipulation (new)
결과값이 달라진다 !
반드시 Matrix 곱인지 일반적인 곱인지 제대로 알고 사용해야한다.
일반적 곱이 일어난 이유는
Broadcasting개념 때문이다.
굉장히 유용하지만 독이 될 수도 있다.
각각 다른 Rank에 대해 계산을 할 때
임의로 맞춰주는게 Broadcasting이다.
width=”1000”
위 사진처럼 Shape이 바뀐 상태로 계산을 한다.
Q. matrix2가 어떤 구조로 바껴서 계산이 되는거지 ?
Reduce Mean
Reduce mean
은 말그대로 평균을 구하는데 줄여서 구한다 !
1번째 Example을 보면
Integer이기 때문에 평균은 1이 나온다.
같은 reduce_mean을 사용하더라도 axis
에 따라 값이 달라진다 !
Reduce Sum
-
첫 번째 사진은 축값에 따라 어떻게 보는가를 보여준다.
-
두 번째 사진은 축을 기준으로 연산을 하였을 때 결과 값이 어떻게 달라지는가를 확인할 수 있다.
Argmax
- Argmax는 주어진 List에서 가장 큰 값의 Index를 Return한다.
Reshape
Reshape
은Tense
에Shpae
을 변경하기 위해 사용한다.
- 가장 중요하다 !
tr.reshape(t, shape=[-1, 3]).eval()
에서 '-1'은 알아서 값을 잡으라는 뜻이다.
그리고 Rank는 []안에 값이 -1, 3이기 때문에 2로 지정해주는 것이다.
-
squeeze
는 펴준다는 느낌으로 사용한다. -
특정 Array의 Dimention을 추가하고 싶을 때
expand_dims
를 사용한다.
One hot
-
배열의 Index를 가리키는 [0, 1, 2, 3]와 같은게 아니라
-
해당되는 값만 Point를 주기위해 사용한다.
-
one_hot을 하게 되면 rank = rank + 1이 된다.
-
그래서 reshape을 해주면 된다.
Casting
Stack
One and Zeros like
- 0 또는 1로만 채워진 tense를 만들고 싶을 때 사용한다.
Zip
- 복수개의 tense를 가지고 있을 때 사용한다.