Home Python 함수 및 속성 정리
Post
Cancel

Python 함수 및 속성 정리

python, tensorflow에서 사용되는 함수들을 정리한 것입니다. 이 포스트는 계속 업데이트 할 예정입니다.

numpy.unique(arr, return_index, return_inverse, return_counts)

  • 중복되지 않는 고유한 요소들의 배열을 리턴
  • 고유 값들의 배열의 튜플 또는 연관된 인덱스를 리턴할 수 있다
  • 인덱스의 특성은 함수 호출에서 매개 변수 유형에 달려있다

np.where(condition[, x, y])

  • 조건에 맞는 값의 색인 위치를 찾는다
1
2
3
4
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

print(np.where(a >= 5))
# (array([4, 5, 6, 7, 8]),)

비트 연산자

~: 보수 연산

  • a = 60 이면 ~a = -61

np.setdiff1d(x, y)

  • 첫 번째 배열 x로 부터 두 번째 배열 y를 뺀 차집합을 반환

argparse

  • 명령행 옵션, 인자와 부속 명령을 위한 파서

사용법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import argparse

parser = argparse.ArgumentParser(description='Main script for training VAE')

    # Data params:
    parser.add_argument('--len_x', type=int, default=6, help='Sequence length (previous-trajectory)')
    parser.add_argument('--len_y', type=int, default=12, help='Sequence length (posterior-trajectory)')
    parser.add_argument('--sp_x', type=int, default=0, help='Use sparse x (previous-trajectory)')
    parser.add_argument('--sp_y', type=int, default=0, help='Use sparse y (posterior-trajectory)')

    # Experiment params:
    parser.add_argument('--dim_z', type=int, default=16,
                        help='Dimension of (Gaussian) latent vector z. Recommend 32, 64 or 128.')
    parser.add_argument('--kl_weight', type=float, default=1.0, help='KL weight of loss equation.')
    parser.add_argument('--batch_size', type=int, default=64, help='Minibatch size. (32, 64, 128, 256)')

    args = parser.parse_args()
  • add_argument에 ‘—’ 이 붙으면 positional (필수)고 ‘-‘ 이 붙으면 optional 이다.

np.random.permutaion

  • 무작위로 섞인 배열을 만든다

keras.optimizers.schedules.ExponentialDecay

1
2
3
tf.keras.optimizers.schedules.ExponentialDecay(
    initial_learning_rate, decay_steps, decay_rate, staircase=False, name=None
)

axis의 기능

1
2
3
4
5
6
7
8
9
10
import numpy as np

arr = np.random.randint(10, size=(5, 3))
arr2 = np.random.randint(10, size=(4, 3))
arr3 = np.concatenate([arr, arr2], axis=0)

print(arr.shape)                # (5, 3)
print(arr2.shape)               # (4, 3)
print('--------------------')
print(arr3.shape)               # (9, 3)
  • concatenate연산에서 axis의 값이 0일 경우 배열 shape의 0번째인 5와 4를 concatenate 연산을 진행한다.
  • 위 코드의 결과를 보면 (5, 3) 배열과 (4, 3) 배열의 concatenate 연산 결과는 (9, 3)으로 나오는 것을 볼 수 있다.
  • numpy의 sum, mean, min, max 등의 연산에서 axis 속성이 사용된다.

eval(str)

  • eval()함수는 괄호 안 문자열을 연산해준다
1
2
eval("1+2")
3
  • 괄호 안에 “1 + 2”를 입력하면 3을 반환한다

list extend()

1
2
3
4
5
6
7
a = [1, 2, 3]
b = [4, 5]

a.extend(b)
print(a)
----------------
[1, 2, 3, 4, 5]
  • list append() 대신 extend()를 사용하면 삽입 대상의 리스트를 풀어서 각각의 엘리먼트로 확장해 삽입한다
This post is licensed under CC BY 4.0 by the author.

Django model 다루기 (점프 투 장고)

분할 정복 알고리즘 (Python Algorithm interview 22장)