궁금한거 정리..

2017.07.07(금) 이후

  1. eval() 메소드 하는 역할이 뭔지?

    eval을 안하면 이런 식으로 Tensor Type으로 나온다.
    <tf.Tensor 'MatMul:0' shape=(2, 1) dtype=float32>
    
    eval을 하면 Array타입으로 바뀐다.
    array([[  5.],
           [ 11.]], dtype=float32)
    
  2. argmax, argmax 차이점?

  3. One hot 메소드 좀 더 자세히 보기

  4. Stack 축 바꿔서 돌려보기

  5. Tensor Manipulation .. 처음에 나온 Axis 다시 한번 보기(Stack에서 axis=1 일 때 열 기준으로 합치는 것 처럼 보임)

  6. Stack에서 axis=1 일 때 열 기준으로 합치는 것 처럼 보임

###### 2.argmax, arg_max 차이점
arg_max와 argmax는 같은 기능을 하는데 arg_max는 곧 deprecated 될 메소드이다.
argmax 소스 코드를 보면 그 안에서 오류 처리를 하고 정상이면 arg_max를 호출하는 형태로 기능상 오류 처리가 추가된 거라고
봐도 무방하다.
# pylint: disable=redefined-builtin
# TODO(aselle): deprecate arg_max
def argmax(input, axis=None, name=None, dimension=None):
  if dimension is not None:
    if axis is not None:
      raise ValueError("Cannot specify both 'axis' and 'dimension'")
    axis = dimension
  elif axis is None:
    axis = 0
  return gen_math_ops.arg_max(input, axis, name)
###### 4. Stack 축 바꿔서 돌려보기 
######  Stack - (https://wooil.gitbooks.io/mlearn/content/tensor-manipulation.html)
>>> tf.stack([x, y, z], axis=0).eval(session=sess)
array([[1, 4],
       [2, 5],
       [3, 6]], dtype=int32)

>>> tf.stack([x, y, z], axis=1).eval(session=sess)
array([[1, 2, 3],
       [4, 5, 6]], dtype=int32)

>>> tf.stack([x, y, z]).eval(session=sess)
array([[1, 4],
       [2, 5],
       [3, 6]], dtype=int32)

2017.07.12(수) 이후

  1. strides 소스 코드에 들어가는 배열에 어떤 값이 들어가는지 파악해보기 [1, 2, 2, 1] ... 여기서 앞 뒤의 1이 뭔 의미인지
    링크 참조
    stride = [batch, width, height, depth]
    batch 값을 1로 설정한 이유는 필터에 내용을 넣을 때 모든 이미지의 원소를 다 넣고 싶기 때문이다. depth를 1로 설정한 이유도 같다.
    reshape을 할 때 [-1, 28, 28, 1]이라는 값이 있으면 이건 [batch_size, width, height, channel]을 의미한다.
    batch size를 -1로 두면 자동으로 batch size를 조정하겠다는 뜻이다. 따라서 배치 사이즈를 변경해야 하더라도 reshape의 batch size 크기를 바꿔줄 필요가 없게 된다.

  2. MNIST 왜 784였지?
    28*28 크기의 이미지를 사용하기 때문에 784 = 28 * 28

  3. Exercise ... Deep & Wide, CIFAR 10, ImageNet
    링크보고 한번 해보기

  4. Lab 12 . RNN-Basic에서 출력 갯수를 2로 했는데 [[[-0.017, -0,1289], ... 이게 무엇을 의미하는지 모르겠다.
    마지막 결과값에서 안에 있는 값들을 비교하여 제일 큰 값으로 예측한다. (one hot)

  5. 아래에서 타겟이 Y, N 일때의 차이점은?

    tf.contrib.seq2seq.sequence_loss(logits=outputs, targets=Y, weights=weights)
    

results for ""

    No results matching ""