ABOUT ME

Today
Yesterday
Total
  • [Python]tensorflow.maximum()
    카테고리 없음 2021. 9. 28. 14:51

    tf.maximum( a_matrix, b_matrix )

    # Case 1 
    
    #  tf.maximum() 함수는 기본적으로 element-wise 로 
    # max 값을 return 해주는 함수이다. 
    # 하지만 shape 이 다르더라도 아래와 같이 한쪽 매트릭스가 
    # 다른 한쪽 매트릭스에서 iterable 하다면
    # iterable 한 matrix 를 다른쪽 매트릭스에서 반복시켜서
    # element-wise 한 max 값으로 매트릭스를 리턴 받을 수 있다. 
    
    
    # (row,col) 에서 row = 1 일 때
    sp216 = np.random.randint(0,100, (2,1,6))
    # array([[[ 5, 70, 44, 97, 68, 46]],
    #        [[ 0, 81, 70, 44, 57, 79]]])
    
    sp246 = np.random.randint(-100,0, (2,4,6))
    # array([[[-38,  -2, -40, -57, -70, -73],
    #         [-43, -11, -19, -78, -23, -92],
    #         [-12, -96, -55,  -6, -74, -50],
    #         [-94, -70, -28, -64, -39, -76]],
    
    #        [[-26, -54, -66, -92, -97, -33],
    #         [-94, -83, -13, -37, -94, -29],
    #         [-94, -31, -56, -54, -73, -53],
    #         [-45, -37, -34, -24,  -6, -56]]])
    tf.maximum(sp246,sp216)
    # array([[[ 5, 70, 44, 97, 68, 46],
    #         [ 5, 70, 44, 97, 68, 46],
    #         [ 5, 70, 44, 97, 68, 46],
    #         [ 5, 70, 44, 97, 68, 46]],
    
    #        [[ 0, 81, 70, 44, 57, 79],
    #         [ 0, 81, 70, 44, 57, 79],
    #         [ 0, 81, 70, 44, 57, 79],
    #         [ 0, 81, 70, 44, 57, 79]]])>
    
    # Case 2 
    
    # sp188 = (1, 3, 8)
    # sp218 = (2, 1, 8)
    # 같은 경우에는 어떻게 될까? 
    # 해당 케이스의 경우에 batch 의 차원이 다르다. 
    # 결론부터 말하자면, sp218 의 batch 각각을 세부 케이스로 보고 
    # sp188 의 batch dimension 을 1->2 로 늘리고 각각을 비교한다. 
    
    
    sp188 = np.random.randint(0,100, (1,3,8))
    # array([[[47,  3, 46, 73, 60, 77, 76, 26],
    #         [ 6, 32, 18, 90, 21,  5, 96, 83],
    #         [51, 70, 46, 48, 58, 97,  3, 70]]])
    sp218 = np.random.randint(-100,0, (2,1,8))
    # array([[[-27,  -8, -87, -46, -67, -17, -29, -12]],
    #        [[-43, -60, -47, -86, -94, -66,  -8, -55]]])
    tf.maximum(sp188,sp218)
    # array([[[47,  3, 46, 73, 60, 77, 76, 26],
    #         [ 6, 32, 18, 90, 21,  5, 96, 83],
    #         [51, 70, 46, 48, 58, 97,  3, 70]],
    
    #        [[47,  3, 46, 73, 60, 77, 76, 26],
    #         [ 6, 32, 18, 90, 21,  5, 96, 83],
    #         [51, 70, 46, 48, 58, 97,  3, 70]]])>
by eric