Programming 4

[re] 라이브러리

re re는 Regular expression operation을 약자이다. 정규표현식을 이용한 문자열 매칭에 사용되는 Python 라이브러리이며, 파이썬 정규 효현식을 이용하여 문자열에서 [특정 패턴]의 문자열을 매칭하는 기능을 제공한다. 정규표현 식은 '.', '*', '$' 등의 특수문자를 이용한다. 특수문자 특수문자는 정규표현식을 표현하기 위한 의미를 가지는 문자를 말하며 아래의 표와 같다. 패턴설명예제 패턴 설명 예제 ^ 이 패턴으로 시작해야 함 ^abc : abc로 시작해야 함 (abcd, abc12 등) $ 이 패턴으로 종료되어야 함 xyz$ : xyz로 종료되어야 함 (123xyz, strxyz 등) [문자들] 문자들 중에 하나이어야 함. 가능한 문자들의 집합을 정의함. [Pp]ython ..

Programming 2020.03.21

[Argparse] 라이브러리

머신러닝, 딥러닝에서 가장 자주 사용 되는 라이브러리 중 하나인 Argparse 라이브러리에 대해 알아보록 하자. 아래의 그림은 딥러닝에 적용된 예시 코드이다. 아직 정확히 어떻게 작동 되는 것인지는 모르겠지만, parser.add_argument() 에서 lr(learning rate)를 설정하고 다음 줄에서 resume(저장 된 값들을 불러와 재 시작)하는 코드임을 짐작 할 수 있다. 이 코드들은 매우 유용한데, 만약 learning rate의 시작 값을 0.09로 바꿔 실행 하고 싶을때 코드 자체를 수정하는 것이 아닌, terminal 에서 실행 시 learning rate를 바꾸어 입력만 해주면 되기 때문이다. 먼저 import 부터 살펴 보겠다. import 는 argparse라는 라이브러리를 ..

Programming 2020.03.01

Neural Network의 기초 - 2 with Pytorch

파이토치 딥러닝 알고리즘 구현하기 이번 포스트에는 아주 간단한 딥러닝 알고리즘을 구현하는 포스팅을 해 보겠습니다. 파이토치의 모든 네트워크는 CLASS형태로 개발이 됩니다. 네트워크를 구현하는 클레스는 nn.Module 클래스를 상속하게 되고, __init__ 초기화 부분과 forward의 forward propagation이 진행되는 매서드를 구현하여야 합니다. 아주 귀여운 네트워크입니다. 사실 위와같은 네트워크는 Deep learning이라고 불리기 민망할 정도이지만 한번 살펴 보겠습니다. CuteNetwork는 Linear layer와 ReLU 를 이용한 3층 네트워크입니다. 초기화 부분에서 어떤 layer를 사용할 것인지 self를 통해 인자를 받고, forward부분에서 네트워크의 순서대로 구현..

Programming 2020.02.21

Neural Network의 기초 with Pytorch

1. Basic Layer 아주 기초적인 neural network부터 시작해보겠습니다. 먼저 nn(neural network)에서 가장 기본적인 Linear layer 부터 보겠습니다. Linear layer는 입력데이터에 선형변환 을 한 후 결과를 출력하는 layer입니다. 여기서 선형 변환이란 일반적으로 이야기 하는 Y = Wx + b 를 나타냅니다. Y는 linear layer의 output이 될것이고, W는 가중치, x는 입력, b는 bias입니다. 이를 코드로 나타내 보면 아래와 같습니다. 이 코드에서 Linear라는 함수는 torch.nn 에 포함되어 있습니다. (torch.nn.Linear) Linear의 parameter를 한번 봅시다. Linear 함수는 크기가 10인 tensor를 입..

Programming 2020.02.21