TensorFlow Python

(모두를 위한 딥러닝) Tensor Manipulation

kjun.kr 2017. 11. 2. 23:34
728x90
728x170

[0.,1.,2.,3.,4.,5.,6.]

Rank : 몇차원 배열인지 = 1 (ndim) -> 처음 시작하는 [ (대괄호)의 수

Shape : 몇개의 엘리먼트가 있는지 = 7 -> [[1,2,3],[4,5,6]] => (2,3) 뒤에 내용부터 가장 낮은 단위.

[-1] 가장 마지막을 의미한다.

[2:5] : 2에서 5바로 앞까지 (2,3,4,)

[4:-1] : 4에서 가장 마지막 앞까지 (4,5)

[:2] => (0,1)

[3:] => (3,4,5,6)

Axis : 각 엘리먼트의 열 정보 , 바깥쪽 대괄호 부터 axis = 0 으로 명명하고
        그 안쪽 대괄호는 axis=1 이런식으로 숫자가 커진다. 

 

Reduce_mean 평균을 내서 여러개의 행열 값을 줄여주는 함수

tf.reduce_mean([1,2], axis =0).eval() => 1 axis  가 0 이므로 1만 가지고 평균을 구한것임.

x = [[1.,2.]
      [3.,4.]]
tf.reduce_mean(x).eval() => 2.5 : 전체 다 더해서 4로 나눠 평균

tf.reduce_mean(x, axis=0).eval() => 2,3 : 1,3 의 평균 2 , 2,4의 평균 3

tf.reduce_mean(x, axis=1).eval() => 1.5,3.5 : 1,2 의 평균 1.5 , 3,4의 평균 3.5 (axis = -1 은 가장 안쪽의 값을 나타낸다.)

 

Reduce_sum 합계를 낸다 Reduce_mean  과 사용방식은 같다.

Argmax 가장 큰것의 위치를 나타낸다.

x=[[0, 1, 2],
    [2, 1, 0]]
tf.argmax(x, axis=0).eval() => (1,0,0) 0,2 중에 2가 크므로 1 (0,1 인덱스중에 1) / 1,1 은 같으므로 0 / 2,0 중에 2가 크므로 0

Reshape  행열의 구성을 다시 재구성한다. 가장 안쪽의 값은 유지하도록 한다.

squeeze 값을 펼친다. [[0],[1],[2]] => [0,1,2]

expand_dims squeeze 와 반대의 의미로 보면되면 펼쳐져 있는것을 구조화한다.

tf.expand_dims([0,1,2], 1).eval() => [[0],[1],[2]]

ones_like(x)  x 구조와 같지만 데이터는 모두 1로 채운다.

zeros_like(x)  x 구조와 같지만 데이터는 모두 0로 채운다.

728x90
그리드형